jjzjj

Cryptography

全部标签

java - JCA、它的提供者和 JCE 之间的关系?

我认为JCA替代JCE很简单。然而,编写一些测试代码来获取我系统上的所有提供程序表明情况并非如此。我注意到以下几点:一些算法有多个提供者(例如:MD5withRSA在SunRsaSign以及SunJSSE中)JCA似乎有类型的算法,这些算法超出了JCE的范围第1项很有意义,因为JCA(对我而言)是一个可供选择的JCE提供程序库/数组。第2项有点令人困惑,因为它表明JCA并不是一组“相同”的JCE提供者;对于任何“种类”的提供者,无论是否连接JCE,它都是某种形式的水坑。那么,JCA、它的提供者和JCE之间的工作关系是什么?这些提供商是否也存在于独立的孤岛中,或者它们是否相互“构建”/相

java - 我如何压缩或编码椭圆曲线公钥并将其放在网络上?

我正在开发分布式数字签名,用于签署文档并通过网络将其发送到应用程序服务器。我正在使用java中的套接字编程来完成它。我认为应该对公钥进行编码或压缩,即x和y值以某种方式表示为单个二进制数据并保存在公共(public)注册表或网络中。但我不知道如何在java中执行此操作。//IhaveclasslikethispublicclassCryptoSystem{EllipticCurveec=newEllipticCurve(newP192());//-------------------//--------------------publicECKeyPairgeneratekeyPair

java - 一次一密,加密解密

我正在尝试学习密码学并且一直在尝试这个练习写一个程序(最好是Java)生成一次一密,这是一个比较大的文件随机数据(例如1MB)。该程序还应该能够根据生成一个时间垫。提示:使用以下测试vector来检查您的程序是否正确加密。纯文本(ASCII):每朵云都有一线希望一次性密码(十六进制):6dc72fc595e35dcd38c05dca2a0d2dbd8e2df20b129b2cfa29ad17972922a2密文(十六进制):28b14ab7ecc33ea157b539ea426c5e9def0d81627eed498809c17ef9404cc5我曾尝试使用随机数生成器生成一次性密码本

java - 从字节数组创建私钥

有没有办法从字节数组生成私钥?我使用getEncoded()方法获得了这个字节数组,但现在我必须将它转换回PrivateKey。谢谢,维克 最佳答案 我也在找这个答案,终于找到了。keyBytes是最初使用getEncoded()创建的字节数组。//addBouncyCastleasaproviderifyouwantSecurity.addProvider(neworg.bouncycastle.jce.provider.BouncyCastleProvider());//createakeyfactory-usewhicheve

java - PBEWithMD5AndTripleDES 的 key 大小是多少?

我正在尝试将现有代码中的PBEWithMD5AndDES替换为PBEWithMD5AndTripleDES。到目前为止,我使用的是我之前使用的相同密码,并收到此异常:java.security.InvalidKeyException:非法key大小我在网上查了一下,发现DES使用64位key,而TripleDES使用128位key。我不清楚我的密码短语如何用于生成key的细节,也不知道去哪里看才能完全理解这一点。我的密码长度为260个字符。我尝试将长度加倍,但我得到了相同的异常。我正在从我的密码短语生成一个PBEKeySpec,它具有8字节盐和12次迭代计数。我看到还有另一个构造函数采

java - 密码分析 : XOR of two plaintext files

我有一个文件,其中包含两个异或明文文件的结果。我如何攻击此文件以解密其中一个明文文件?我搜索了很多,但找不到任何答案。谢谢!编辑:好吧,我还有两个密文,我对它们进行异或运算以获得两个明文的异或。我问这个问题的原因是,根据BruceSchneier,pg的说法。198,AppliedCryptography,1996“......她可以将它们异或在一起并得到两个明文消息相互异或。这很容易破解,然后她可以将其中一个明文与密文进行异或以获得key流。”(这与简单的流密码有关)但除此之外,他没有提供任何解释。这就是为什么我在这里问。原谅我的无知。另外,使用的算法比较简单,使用长度为3的对称ke

java - 比播种 SecureRandom 更好的创建 AES key 的方法

我需要将加密数据从Java客户端发送到C#服务器。现在我正在学习如何使用AES(要求)加密数据。按照这个接受的答案androidencryption/decryptionwithAES我正在执行以下操作:byte[]keyStart="qweroiwejrwoejlsifeoisrn".getBytes();//Randomcharacterstringbyte[]toEncrypt=myMessageString.getBytes();keyGen=KeyGenerator.getInstance("AES");sr=SecureRandom.getInstance("SHA1PRN

java - 如何使用新的 Bouncy CaSTLe 库从 PKCS10CertificationRequest 获取公钥?

在新版本的BouncyCaSTLe库中,PKCS10CertificationRequest发生了变化。在以前的版本中,可以使用getPublicKey()方法从此类请求中获取PublicKey(请参阅olddoc)。现在这个方法消失了。如何从此类请求中获取PublicKey?有getSubjectPublicKeyInfo().parsePublicKey()但它返回ASN1Primitive。我从SPKACNetscapeCertRequest看到,我仍然可以通过调用getPublicKey()直接读取PublicKey。 最佳答案

java - javax.crypto.Cipher 为 RSA 使用了哪个填充

我需要通过RSA解密消息以便通过不安全的channel发送消息,但我担心PaddingOracleAttack.因此我已经提出了以下问题:HowtoverifytheintegrityofRSAencryptedmessages?HowtoensuremessageintegrityforRSAciphersbyusingjavax.crypto.Cipher就像第一个问题中建议的那样,However,sinceyouareusingahighlevelcryptographiclibrary,thisissomethingyoushouldn'thavetoworryabout.Th

java - 使用 BouncyCaSTLe PKCS7 加密和解密 - CMS in java

我想用BouncyCaSTLe对pkcs7格式进行加解密。我有一个硬件token。当我在硬盘驱动器的jks文件中使用key对时,它工作正常但是当我在token中使用key对时它不起作用。这是我的异常(exception):Exceptioninthread"main"org.bouncycastle.cms.CMSException:cannotcreatecipher:Nosuchalgorithm:2.16.840.1.101.3.4.1.2atorg.bouncycastle.cms.jcajce.EnvelopedDataHelper.createCipher(UnknownS