úÎ3w-²4      !"#$%&'()*+,-./012345os2ip converts a byte string into a positive integer 55i2osp converts a positive integer into a byte string 454567668Gexponantiation_rtl_binary computes modular exponantiation as b^e mod m E using the right-to-left binary exponentiation algorithm (HAC 14.79) 98inverse computes the modular inverse as in g^(-1) mod m :Tget 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 ;89:89:Good 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. <     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. !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) =>?@$(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 ABC !"#$%#"! $% #"!  !"#$%Good experimental#Vincent Hanquez <vincent@snarc.org>1&'()*DEFGHIJKLMNOPQRSTUVWXYZ[\]^_+`abcdefghijkl,Hencrypt with the key a bytestring and returns the encrypted bytestring -Hdecrypt with the key a bytestring and returns the encrypted bytestring &'()*+,-&'()*+,-&'()*'()*+,-Good experimental#Vincent Hanquez <vincent@snarc.org> .mn/6initCtx initialize the Ctx with the key as parameter. - the key can be of any size but not empty op0Hencrypt with the current context a bytestring and returns a new context * and the resulted encrypted bytestring 1Hdecrypt with the current context a bytestring and returns a new context * and the resulted decrypted bytestring 2Mencrypt with the current context a lazy bytestring and returns a new context 0 and the resulted lencrypted lazy bytestring 3Mdecrypt with the current context a lazy bytestring and returns a new context / and the resulted decrypted lazy bytestring ./0123./0123./0123q         !"#$%&&'()*%$+,%$-./0123456789:;<=7>>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijcryptocipher-0.2.2Crypto.Cipher.DSACrypto.Cipher.RSACrypto.Cipher.CamelliaCrypto.Cipher.RC4Number.SerializeNumber.GenerateNumber.ModArithmetic PrivateKeyprivate_params private_x PublicKey public_paramspublic_y SignatureParamsErrorRandomGenFailureInvalidSignaturesignverify private_sz private_n private_d private_p private_q private_dP private_dQ private_qinv public_szpublic_npublic_eKeyInternalErrorMessageNotRecognizedMessageTooLongMessageSizeIncorrectdecryptencryptKeykkwkeinitKeyCtxinitCtx encryptlazy decryptlazyos2ipi2osp generateMaxnbBytesexponantiation_rtl_binaryinverse gcde_binaryareEvenexpmodpadPKCS1 unpadPKCS1dpSlowdpFastgetRandomBytesi2ospOfWord128ModeEncryptDecrypt w128tow64 w64tow128w64tow8w8tow64w64tow32w32tow64w128tow8 getWord64 getWord128 putWord128sboxsbox1sbox2sbox3sbox4sigma1sigma2sigma3sigma4sigma5sigma6rotl128 setKeyInterimfeistelflflinvgetKeyKgetKeyKegetKeyKw doBlockRounddoBlock encryptBlock decryptBlock encryptChunk decryptChunkdoChunksswapsetKey getNextChar genstream