草庐IT

Cryptography

全部标签

java - cipher.getInstance() 的 DESede 和 TripleDES 之间的区别

我正尝试在Java中使用TripleDES加密。来自Wikipediaarticle在KeyingOptions下,我想使用选项1,其中所有三个键都是独立的。来自Cipherdocs它说去referenceguidehere,但我仍然不清楚。我正在努力运行示例,并在不同的项目中使用这两行:Cipherc=Cipher.getInstance("DESede");Ciphercipher=Cipher.getInstance("TripleDES/ECB/PKCS5Padding");两者都可以编译,那有什么区别呢?我应该使用一个吗?这两个都适用于使用三个单独的key吗?

python - 如何从 python 中的 RSA 公钥中提取 N 和 E?

我有一个RSA公钥,看起来像-----BEGINPUBLICKEY-----MIIBIDANBgkqhkiG9w0BAQEFAAOCAQ0AMIIBCAKCAQEAvm0WYXg6mJc5GOWJ+5jkhtbBOe0gyTlujRER++cvKOxbIdg8So3mV1eASEHxqSnp5lGa8R9Pyxz3iaZpBCBBvDB7Fbbe5koVTmt+K06o96ki1/4NbHGyRVL/x5fFiVuTVfmk+GZNakH5dXDq0fwvJyVmUtGYAiMJWPni2hGpAsbyjzLix9UNX5XiYIIrIr55IHtD5u1XNkmYLOdVQ98r6h

python - Paramiko/加密弃用警告 : CryptographyDeprecationWarning: encode_point has been deprecated on EllipticCurvePublicNumbers

这个问题在这里已经有了答案:HowtosilenceEllipticCurvePublicNumbers.encode_pointCryptographyDeprecationWarningwhenusingParamikoinPython(2个答案)关闭3年前。在进行简单的SSH连接时,我不断收到以下弃用警告:2019-03-0402:21:14[transport]INFO:Connected(version2.0,clientOpenSSH_7.4)/usr/local/lib/python2.7/site-packages/paramiko/kex_ecdh_nist.py:3

python - 使用带有 python 的 openssl 签署数据

我目前正在使用下一个opensll命令签署数据:openssldgst-signkey.pem-sha256-outsignature.sigdata.txt我如何使用Python实现这一目标? 最佳答案 我在这里找到了答案(http://nullege.com/和https://pyopenssl.readthedocs.org/en/stable/api/crypto.html):importOpenSSLfromOpenSSLimportcryptoimportbase64key_file=open("C:\my.pem","

python - 令人讨厌的 CryptographyDeprecationWarning 因为到处都缺少 hmac.compare_time 函数

事情进展顺利,直到我的一个项目开始在每个地方打印它,在每次执行的顶部,至少打印一次:local/lib/python2.7/site-packages/cryptography/hazmat/primitives/constant_time.py:26:CryptographyDeprecationWarning:SupportforyourPythonversionisdeprecated.Thenextversionofcryptographywillremovesupport.Pleaseupgradetoa2.7.xreleasethatsupportshmac.compare

python - UDP 安全和识别传入数据

我一直在创建一个使用UDP传输和接收信息的应用程序。我遇到的问题是安全性。现在我正在使用IP/socketid来确定哪些数据属于谁。但是,我一直在阅读有关人们如何简单地欺骗他们的IP,然后将数据作为特定IP发送的信息。所以这似乎是错误的做法(不安全)。那么我还应该如何识别哪些数据属于哪些用户呢?例如,您连接了10个用户,每个用户都有特定的数据。服务器需要将用户数据与我们收到的数据相匹配。我能看到的唯一方法是使用某种客户端/服务器key系统并对数据进行加密。我很好奇其他应用程序(或游戏,因为这就是这个应用程序)如何确保它们的数据是真实的。还有一个事实是,加密的处理时间比未加密的要长得多。

python - 我有模数和私有(private)指数。如何构造RSA私钥并对消息进行签名?

我是密码学和pycrypto方面的新手。我有模n和私有(private)指数d。根据我阅读一些文档后的理解,私钥由n和d组成。我需要签署一条消息,但我不知道如何使用pycrypto来完成。RSA.construct()方法接受一个元组。但我还必须为此方法(我没有)额外提供公共(public)指数e。所以这是我的问题。我是否必须以某种方式计算e才能签署消息?看来我应该能够通过使用n和d(构成私钥)来签署消息。我对么?我可以用pycrypto做到这一点吗?提前致谢。 最佳答案 实际上,对于用公钥加密的消息进行解密,拥有私有(privat

python - 为什么我可以使用一个 DES key 加密数据并使用另一个成功解密?

我尝试使用pyDes和Crypto.Cipher.DES模块实现DES算法。我发现一个问题,当我使用82514145key加密然后使用93505044解密密码时,我可以检索解密的文本。我发现256个键的行为是这样的。这违反了密码学。我的代码如下:fromCrypto.CipherimportDESplain_text='asdfghij'print'plainText:',plain_textdes=DES.new('82514145',DES.MODE_ECB)cipher_text=des.encrypt(plain_text)print'theciphertextis',ciph

python - 是否可以在 Python 中生成正确的 PKCS12 (.pfx) 文件?

我需要在python中生成一个PKCS12文件,其中将包含自签名证书和私钥。我为此任务汇编了以下python代码:importOpenSSLkey=OpenSSL.crypto.PKey()key.generate_key(OpenSSL.crypto.TYPE_RSA,1024)cert=OpenSSL.crypto.X509()cert.set_serial_number(0)cert.get_subject().CN="me"cert.set_issuer(cert.get_subject())cert.gmtime_adj_notBefore(0)cert.gmtime_adj

c# - Python 到 C# AES CBC PKCS7

我正在尝试将此C#代码转换为Python(2.5,GAE)。问题是每次运行加密(在同一字符串上)时,来自python脚本的加密字符串都是不同的。stringEncrypt(stringtextToEncrypt,stringpassphrase){RijndaelManagedrijndaelCipher=newRijndaelManaged();rijndaelCipher.Mode=CipherMode.CBC;rijndaelCipher.Padding=PaddingMode.PKCS7;rijndaelCipher.KeySize=128;rijndaelCipher.Blo