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

From YobiWiki
Jump to navigation Jump to search
m
 
(12 intermediate revisions by 2 users 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]
|-
 
| || || || || || ||
 
|-
 
| || || || || || ||
 
|-
 
| || || || || || ||
 
 
|}
 
|}
   
/*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 18: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