Sage Cross Reference Table of Wishes and Availability: Difference between revisions

From YobiWiki
Jump to navigation Jump to search
Content deleted Content added
mNo edit summary
 
(9 intermediate revisions by the same user not shown)
Line 1: Line 1:
'''Back to [[SAGE & cryptology]]
'''Back to [[SAGE & cryptology]]
==Table==

'''Legend'''
'''Legend'''
* C: wrapped C code
* C: wrapped C code
Line 20: Line 20:
!TLS Lite
!TLS Lite
|- style="background-color:#dddddd;"
|- style="background-color:#dddddd;"
! align="left" colspan="8"|Block Ciphers
! align="left" colspan="8"|
===Block Ciphers===
|- style="background-color:#eeeeee;"
|- style="background-color:#eeeeee;"
| align="left" colspan="8"|Block cipher algorithms
| align="left" colspan="8"|
====Block cipher algorithms====
|-
|-
| Serpent || || || || || ||[http://psionicist.online.fr/code/]
| Serpent || || || || || ||[http://psionicist.online.fr/code/][http://www.cl.cam.ac.uk/~fms27/serpent/serpent.py.html]
|-
|-
| Blowfish || || || || || ||[http://www.4dsolutions.net/cgi-bin/py2html.cgi?script=/ocn/python/blowfish.py] [http://www.michaelgilfix.com/files/blowfish.py] [http://ivoras.sharanet.org/projects/blowfish.html]
| Blowfish || || C || C || || ||[http://www.4dsolutions.net/cgi-bin/py2html.cgi?script=/ocn/python/blowfish.py] [http://www.michaelgilfix.com/files/blowfish.py] [http://ivoras.sharanet.org/projects/blowfish.html]
|-
|-
| Twofish || || || || || ||[http://psionicist.online.fr/code/]
| Twofish || || || || || ||[http://psionicist.online.fr/code/]
Line 34: Line 36:
| DES || || C || || C || ||[http://twhiteman.netfirms.com/des.html]
| DES || || C || || C || ||[http://twhiteman.netfirms.com/des.html]
|-
|-
| 3DES || || C || || C || Py ||[http://twhiteman.netfirms.com/des.html]
| 3DES || || C || || C || ||[http://twhiteman.netfirms.com/des.html]
|-
|-
| AES || || C || || C || Py ||[http://psionicist.online.fr/code/] [http://jclement.ca/software/pyrijndael/]
| AES || || C || || C || Py ||[http://psionicist.online.fr/code/] [http://jclement.ca/software/pyrijndael/][http://bitconjurer.org/rijndael.py tlslite implementation]
|-
|-
| Present || || || || || ||
| Present || || || || || ||
|- style="background-color:#eeeeee;"
|- style="background-color:#eeeeee;"
| align="left" colspan="8"|Modes of operation
| align="left" colspan="8"|
====Modes of operation====
|-
|-
| CMAC || || || || || ||
| CMAC || || || || || ||
Line 52: Line 55:
| GCM || || || || || ||
| GCM || || || || || ||
|-
|-
| ECB || || C* || || C || ||
| ECB || || C || || C || ||
|-
|-
| CBC || || C* || || C || ||
| CBC || || C || || C || Py ||
|-
|-
| CTR || || || || || ||
| CTR || || C || || || ||
|-
|-
| LRW || || || || || ||
| LRW || || || || || ||
Line 64: Line 67:
| MDC-2 || || || || || ||
| MDC-2 || || || || || ||
|- style="background-color:#eeeeee;"
|- style="background-color:#eeeeee;"
| align="left" colspan="8"|Paddings
| align="left" colspan="8"|
====Paddings====
|-
|-
| bit padding || || || || || ||
| bit padding || || || || || ||
Line 78: Line 82:
| ANSI X.923 || || || || || ||
| ANSI X.923 || || || || || ||
|- style="background-color:#dddddd;"
|- style="background-color:#dddddd;"
! align="left" colspan="8"|Stream Ciphers
! align="left" colspan="8"|
===Stream Ciphers===
|-
|-
| RC4 || || C || || C || Py ||[http://www.amk.ca/python/writing/crypto-curiosa.html]
| RC4 || || C || || C || Py ||[http://www.amk.ca/python/writing/crypto-curiosa.html]
Line 108: Line 113:
| Self-Shrinking generator|| || || || || ||
| Self-Shrinking generator|| || || || || ||
|- style="background-color:#dddddd;"
|- style="background-color:#dddddd;"
! align="left" colspan="8"|One-way Functions
! align="left" colspan="8"|
===One-way Functions===
|-
|-
| MD5 || Py || C || || C || ||[http://codespeak.net/svn/pypy/dist/pypy/lib/md5.py]
| MD5 || Py(C) || C || || C || ||[http://codespeak.net/svn/pypy/dist/pypy/lib/md5.py pypy]
|-
|-
| SHA Family || Py || C (SHA-1 & 256)|| || C (only SHA1) || ||[http://codespeak.net/svn/pypy/dist/pypy/lib/sha.py]
| SHA Family || Py(C) || C (SHA-1 & 256)|| || C (only SHA1) || ||[http://codespeak.net/svn/pypy/dist/pypy/lib/sha.py pypy(SHA1)][https://vcs.slash-me.net/snippets/sha256/sha256.py SHA256]
|-
|-
| Whirlpool || || || || || ||[http://psionicist.online.fr/code/]
| Whirlpool || || || || || ||[http://psionicist.online.fr/code/]
|-
|-
| RipeMD || || C || || C (ripemd-160) || ||[http://psionicist.online.fr/code/]
| RipeMD || || Py || || C (ripemd-160) || ||[http://psionicist.online.fr/code/]
|-
|-
| MDC-2 || || || || || ||
| MDC-2 || || || || || ||
Line 128: Line 134:
| Miyaguchi-Preneel || || || || || ||
| Miyaguchi-Preneel || || || || || ||
|-
|-
| HMAC || Py || || || C*** || Py ||
| HMAC || Py || Py || || C*** || Py ||
|-
|-
| NMAC || || || || || ||
| NMAC || || || || || ||
Line 134: Line 140:
| KDF family || || || || || ||
| KDF family || || || || || ||
|-
|-
| PBKDF2 || || || || C*** || ||[http://code.google.com/p/uliweb/source/browse/trunk/lib/beaker/crypto/pbkdf2.py?r=119]
| PBKDF2 || || || || C*** || ||[http://www.dlitz.net/software/python-pbkdf2/]
|- style="background-color:#dddddd;"
|- style="background-color:#dddddd;"
! align="left" colspan="8"|Public-key cryptography
! align="left" colspan="8"|

===Public-key cryptography===
|-
|-
| Misc || || || || || ||
| Misc || || || || || ||
|- style="background-color:#eeeeee;"
|- style="background-color:#eeeeee;"
| align="left" colspan="8"|ECC
| align="left" colspan="8"|
====ECC====
|-
|-
| all coordinate sys. || || || || || ||
| all coordinate sys. || || || || || ||
Line 146: Line 155:
|cf [http://www.hyperelliptic.org/EFD/ EFD] || || || || || ||
|cf [http://www.hyperelliptic.org/EFD/ EFD] || || || || || ||
|- style="background-color:#eeeeee;"
|- style="background-color:#eeeeee;"
| align="left" colspan="8"|Other
| align="left" colspan="8"|
====Other====
|-
|-
| RSA || || C** || || C (PKCS1) || Py ||[http://pypi.python.org/pypi/asym/0.1.0] [http://www.stuvel.eu/rsa]
| RSA || || C** || || C (PKCS1) || Py ||[http://pypi.python.org/pypi/asym/0.1.0] [http://www.stuvel.eu/rsa]
Line 162: Line 172:
| NTRUE || || || || || ||
| NTRUE || || || || || ||
|- style="background-color:#dddddd;"
|- style="background-color:#dddddd;"
! align="left" colspan="8"|Pseudo-random generators
! align="left" colspan="8"|
===Pseudo-random generators===
|-
|-
| cf NIST || || || || || ||
| cf NIST || || || || || ||
|-
|-
| Mersenne Twister || Py || || || || ||
| Mersenne Twister || Py || || || || ||
|-
| || || || || || ||
|- style="background-color:#dddddd;"
|- style="background-color:#dddddd;"
! align="left" colspan="8"|Cryptanalysis tools
! align="left" colspan="8"|
===Cryptanalysis tools===
|-
|-
| align="left" colspan="8"|Entropy finder: [http://deadhacker.com/2007/05/13/finding-entropy-in-binary-files/] and [http://blog.dkbza.org/2007/05/scanning-data-for-entropy-anomalies.html] then [http://blog.dkbza.org/2007/07/scanning-data-for-entropy-anomalies-ii.html]
| align="left" colspan="8"|Entropy finder: [http://deadhacker.com/2007/05/13/finding-entropy-in-binary-files/] and [http://blog.dkbza.org/2007/05/scanning-data-for-entropy-anomalies.html] then [http://blog.dkbza.org/2007/07/scanning-data-for-entropy-anomalies-ii.html]
|-
| || || || || || ||
|-
| || || || || || ||
|-
| || || || || || ||
|}
|}


/*CBC and ECB in PyCrypto are integrated into the cipher algorithmes and are coupled to encryption/decryption status<br>
/**Check if PKCS#1 v1.5/v2.1 and if CTR<br>
/**Check if PKCS#1 v1.5/v2.1 and if CTR<br>
/***See EVP.py<br>
/***See EVP.py<br>

Latest revision as of 16:19, 15 October 2008

Back to SAGE & cryptology

Table

Legend

  • C: wrapped C code
  • Py: pure python code
  • Sage: sage code
Sage optional packages other python packages python code
available
PyCrypto PyOpenSSL M2Crypto TLS Lite

Block Ciphers

Block cipher algorithms

Serpent [1][2]
Blowfish C C [3] [4] [5]
Twofish [6]
Idea C C
DES C C [7]
3DES C C [8]
AES C C Py [9] [10]tlslite implementation
Present

Modes of operation

CMAC
XCBC book*
CBC-MAC book*
CCM
GCM
ECB C C
CBC C C Py
CTR C
LRW
XTS [11]
MDC-2

Paddings

bit padding
zeros
PKCS7 C
PKCS12
ISO 10126
ANSI X.923

Stream Ciphers

RC4 C C Py [12]
A5/1 A5/2
SNOW2 SNOW3G
HC-128
RABBIT
Salsa 20/12
SOSEMANUK
F-FCSR
Grain
MICKEY
Trivium
LFSR Sage
Shrinking generator Sage
Self-Shrinking generator

One-way Functions

MD5 Py(C) C C pypy
SHA Family Py(C) C (SHA-1 & 256) C (only SHA1) pypy(SHA1)SHA256
Whirlpool [13]
RipeMD Py C (ripemd-160) [14]
MDC-2
RadioGatun
Davies-Meyer
Matyas-Meyer-Oseas
Miyaguchi-Preneel
HMAC Py Py C*** Py
NMAC
KDF family
PBKDF2 C*** [15]

Public-key cryptography

Misc

ECC

all coordinate sys.
cf EFD

Other

RSA C** C (PKCS1) Py [16] [17]
DSA C C
ElGamal C
DH C
XTR
Paillier
NTRUE

Pseudo-random generators

cf NIST
Mersenne Twister Py

Cryptanalysis tools

Entropy finder: [18] and [19] then [20]

/**Check if PKCS#1 v1.5/v2.1 and if CTR
/***See EVP.py
book*: C-code available in Oreilly's OpenSSL book