[Python-checkins] CVS: python/nondist/peps pep-0272.txt,1.1,1.2

A.M. Kuchling akuchling@users.sourceforge.net
2001年9月20日 09:12:28 -0700


Update of /cvsroot/python/python/nondist/peps
In directory usw-pr-cvs1:/tmp/cvs-serv27026
Modified Files:
	pep-0272.txt 
Log Message:
'blocksize' -> 'block_size', 'keysize' -> 'key_size'
Rip out the key_size attribute of cipher objects
Set PEP number
Various rewrites
Index: pep-0272.txt
===================================================================
RCS file: /cvsroot/python/python/nondist/peps/pep-0272.txt,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** pep-0272.txt	2001年09月20日 16:06:16	1.1
--- pep-0272.txt	2001年09月20日 16:12:26	1.2
***************
*** 1,3 ****
! PEP: XXX
 Title: API for Secret-Key Encryption Algorithms
 Version: $Revision$
--- 1,3 ----
! PEP: 272
 Title: API for Secret-Key Encryption Algorithms
 Version: $Revision$
***************
*** 11,15 ****
 
 This document specifies a standard API for secret-key encryption
! algorithms, such as DES or Rijndael, making it easier to switch
 between different algorithms and implementations. The API is
 intended to be suitable for both block and stream ciphers.
--- 11,15 ----
 
 This document specifies a standard API for secret-key encryption
! algorithms such as DES or Rijndael, making it easier to switch
 between different algorithms and implementations. The API is
 intended to be suitable for both block and stream ciphers.
***************
*** 21,31 ****
 plaintext) in some way that is dependent on a variable key,
 producing ciphertext. The transformation can easily be reversed,
! if and only if one knows the key (we hope). The key is a sequence
! of bits chosen from some very large space of possible keys.
 
! Block ciphers take multibyte inputs of a fixed size (frequently 8
! or 16 bytes long) and encrypt them. Block ciphers can be operated
! in various feedback modes. The feedback modes supported in this
! specification are: 
 
 Number Constant Description
--- 21,30 ----
 plaintext) in some way that is dependent on a variable key,
 producing ciphertext. The transformation can easily be reversed,
! if and only if one knows the key. The key is a sequence of bits
! chosen from some very large space of possible keys.
 
! Block ciphers encrypt multibyte inputs of a fixed size (frequently
! 8 or 16 bytes long), and can be operated in various feedback
! modes. The feedback modes supported in this specification are:
 
 Number Constant Description
***************
*** 33,38 ****
 2 CBC Cipher Block Chaining
 3 CFB Cipher FeedBack 
! 4 PGP Variant of CFB used by the OpenPGP standard
 
 In a strict formal sense, stream ciphers encrypt data bit-by-bit;
 practically, stream ciphers work on a character-by-character
--- 32,41 ----
 2 CBC Cipher Block Chaining
 3 CFB Cipher FeedBack 
! 4 PGP Variant of CFB
 
+ See _Applied Cryptography_ for descriptions of the first three
+ feedback modes. The PGP feedback mode is described in the OpenPGP
+ RFC.
+ 
 In a strict formal sense, stream ciphers encrypt data bit-by-bit;
 practically, stream ciphers work on a character-by-character
***************
*** 45,51 ****
 Specification
 
! All cipher algorithms share a common interface. After importing a
! given module, there is exactly one function and two variables
! available.
 
 Secret-key encryption modules define one function:
--- 48,52 ----
 Specification
 
! All cipher algorithms share a common interface. 
 
 Secret-key encryption modules define one function:
***************
*** 69,89 ****
 Secret-key encryption modules define two variables:
 
! blocksize
 
 An integer value; the size of the blocks encrypted by this
 module. For all feedback modes, the length of strings passed to
 the encrypt() and decrypt() must be a multiple of the block size.
! For stream ciphers, \code{blocksize} will be 1.
 
! keysize
 
 An integer value; the size of the keys required by this
! module. If keysize is zero, then the algorithm accepts
 arbitrary-length keys. You cannot pass a key of length 0
 (that is, the null string '') as such a variable-length key.
 
! All cipher objects have at least three attributes:
 
! blocksize
 
 An integer value equal to the size of the blocks encrypted by
--- 70,90 ----
 Secret-key encryption modules define two variables:
 
! block_size
 
 An integer value; the size of the blocks encrypted by this
 module. For all feedback modes, the length of strings passed to
 the encrypt() and decrypt() must be a multiple of the block size.
! For stream ciphers, \code{block_size} will be 1.
 
! key_size
 
 An integer value; the size of the keys required by this
! module. If key_size is zero, then the algorithm accepts
 arbitrary-length keys. You cannot pass a key of length 0
 (that is, the null string '') as such a variable-length key.
 
! Cipher objects require two attributes:
 
! block_size
 
 An integer value equal to the size of the blocks encrypted by
***************
*** 99,113 ****
 It is read-only, and cannot be assigned a new value.
 
! keysize (XXX this is in mxCrypto, but do we actually need this? 
! I can't remember why it was there, and it seems stupid.)
! 
! An integer value equal to the size of the keys used by this
! object. If keysize is zero, then the algorithm accepts
! arbitrary-length keys. For algorithms that support variable
! length keys, this will be 0. Identical to the module variable
! of the same name. It does *not* contain the size of the key
! actually
! 
! The methods for secret-key encryption objects are as follows:
 
 decrypt(string)
--- 100,104 ----
 It is read-only, and cannot be assigned a new value.
 
! Cipher objects require the following methods:
 
 decrypt(string)
***************
*** 120,124 ****
 encrypt(string)
 
! Encrypts a non-null string, using the key-dependent data in
 the object, and with the appropriate feedback mode. The
 string's length must be an exact multiple of the algorithm's
--- 111,115 ----
 encrypt(string)
 
! Encrypts a non-empty string, using the key-dependent data in
 the object, and with the appropriate feedback mode. The
 string's length must be an exact multiple of the algorithm's

AltStyle によって変換されたページ (->オリジナル) /