úÎAÎ8¼E      !"#$%&'()*+,-./0123456789:;<=>?@ABCDE5os2ip converts a byte string into a positive integer F5i2osp converts a positive integer into a byte string EFEFGHGGIGexponantiation_rtl_binary computes modular exponantiation as b^e mod m E using the right-to-left binary exponentiation algorithm (HAC 14.79) J8inverse computes the modular inverse as in g^(-1) mod m KTget the extended GCD of two integer using the extended binary algorithm (HAC 14.61) ? get (x,y,d) where d = gcd(a,b) and x,y satisfying ax + by = d LIJKIJKGood experimental#Vincent Hanquez <vincent@snarc.org> Sthe random generator returns an error. give the opportunity to reseed for example. <signature is not valid r or s is not between the bound 0..q %sign message using the private key. +verify a bytestring using the public key. M     Good experimental#Vincent Hanquez <vincent@snarc.org>$size of key in bytes  private p*q private exponant d p prime number q prime number  d mod (p-1)  d mod (q-1)  q^(-1) mod p size of key in bytes  public p*q public exponant e !Sthe whole key is probably not valid, since the message is bigger than the key size "Sthe random generator returns an error. give the opportunity to reseed for example. #Nthe signature generated through the hash is too long to process with this key $the message decrypted doesn')t have a PKCS15 structure (0 2 .. 0 msg) %:the message to encrypt is too long (>= private_size - 11) &Othe message to decrypt is not of the correct size (need to be == private_size) NOPQ'(decrypt message using the private key. (Rencrypt a bytestring using the public key and a CryptoRandomGen random generator. 9 - the message need to be smaller than the key size - 11 )Asign message using private key, a hash and its ASN1 description *(verify message with the signed message RSTU !"#$%&'()* &%$#"!'()*  &%$#"!!"#$%&'()*Good experimental#Vincent Hanquez <vincent@snarc.org>1+,-./VWXYZ[\]^_`abcdefghijklmnopq0rstuvwxyz{|}~1Hencrypt with the key a bytestring and returns the encrypted bytestring 2Hdecrypt with the key a bytestring and returns the encrypted bytestring +,-./012+,-./012+,-./,-./012Good experimental#Vincent Hanquez <vincent@snarc.org>;34€5‚6ƒ„7…†‡8encrypt using CBC mode J - IV need to be 16 bytes and the data to encrypt a multiple of 16 bytes 9encrypt using simple EBC mode :decrypt using CBC mode J - IV need to be 16 bytes and the data to decrypt a multiple of 16 bytes ;decrypt using simple EBC mode ˆ‰Š‹Œ<=>Ž‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­ 3456789:;<=> 439;8:<=>765 3456789:;<=>Good experimental#Vincent Hanquez <vincent@snarc.org> ?®¯@6initCtx initialize the Ctx with the key as parameter. - the key can be of any size but not empty °±AHencrypt with the current context a bytestring and returns a new context * and the resulted encrypted bytestring BHdecrypt with the current context a bytestring and returns a new context * and the resulted decrypted bytestring CMencrypt with the current context a lazy bytestring and returns a new context 0 and the resulted lencrypted lazy bytestring DMdecrypt with the current context a lazy bytestring and returns a new context / and the resulted decrypted lazy bytestring ?@ABCD?@ABCD?@ABCD²            !"#$%&'()**+,-.)(/*0123)4(56789)(:;<=>?@ABCDEFGHIJKDLLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrst*uvwxyz{s|}~€.‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’Z[\]^“”•–—˜™š›œžŸcryptocipher-0.2.8Crypto.Cipher.DSACrypto.Cipher.RSACrypto.Cipher.CamelliaCrypto.Cipher.AESCrypto.Cipher.RC4Number.SerializeNumber.GenerateNumber.ModArithmetic PrivateKeyprivate_params private_x PublicKey public_paramspublic_y SignatureParamsErrorRandomGenFailureInvalidSignaturesignverifyHashASN1HashF private_sz private_n private_d private_p private_q private_dP private_dQ private_qinv public_szpublic_npublic_eKeyInternalErrorSignatureTooLongMessageNotRecognizedMessageTooLongMessageSizeIncorrectdecryptencryptKeykkwkeinitKeyIVAES256AES192AES128 encryptCBC decryptCBC initKey128 initKey192 initKey256CtxinitCtx encryptlazy decryptlazyos2ipi2osp generateMaxnbBytesexponantiation_rtl_binaryinverse gcde_binaryareEvenexpmodpadPKCS1 unpadPKCS1dpSlowdpFast makeSignaturegetRandomBytesi2ospOfWord128ModeEncryptDecrypt w128tow64 w64tow128w64tow8w8tow64w64tow32w32tow64w128tow8 getWord64 getWord128 putWord128sboxsbox1sbox2sbox3sbox4sigma1sigma2sigma3sigma4sigma5sigma6rotl128 setKeyInterimfeistelflflinvgetKeyKgetKeyKegetKeyKw doBlockRounddoBlock encryptBlock decryptBlock encryptChunk decryptChunkdoChunksAESStateA256unA256A192unA192A128unA128 serializeKey makeChunks newAESState coreEncrypt coreDecryptgetNbraesMain aesMainInv swapIndex coreExpandKey shiftRows addRoundKey mixColumns shiftRowsInv mixColumnsInvr8w8r32w32msbox32mrsbox32 swapBlock swapBlockInvmRconrsboxrcongmtab2gmtab3gmtab9gmtab11gmtab13gmtab14swapsetKey getNextChar genstream