也许我的期望是错的.我不是加密专家,我只是一个简单的用户.到目前为止,我已经详尽地试图使这项工作取得成功.
背景资料:
我正在尝试从Delphi Encryption Compendium移植Legacy Encryption,它使用Blowfish Engine(TCipher_Blowfish_)和CTS操作模式(cmCTS).私钥由RipeMD256(THash_RipeMD256)进行哈希处理.
问题:
输入纯文本字节数组的大小必须相同CIPHER_BLOCK.据我所知,它不应该.
来自维基百科:
在密码学中,密文窃取(CTS)是使用分组密码操作模式的一般方法,其允许处理不可均分成块的消息而不会导致密文的任何扩展,代价是稍微增加了复杂性.
输出与旧例程不同:
我正在使用:
遗留应用程序使用ANSI String,新的使用Unicode,因此对于我调用的每个输入字符串Encoding.ASCII.GetBytes("plainText"),Encoding.ASCII.GetBytes("privatepassword").
然后由RipeMD256对私有密码字节进行散列,我检查了输出字节,它们是相同的.
我可以确认问题在Bouncy Clastle(操作模式或缺少配置/步骤)中是特定的,因为我已经下载了第二个库Blowfish.cs并使用8字节的输入(与密码块大小相同)并使用Encrypt_CBC(bytes[])with相同的IV产生与传统格式相同的输出.
这是我使用两个代码的草图Blowfish.cs和Bouncy Castle:
var
IV: Array [0..7] of Byte (1,2,3,4,5,6,7,8);
Key: String = '12345678';
with TCipher_Blowfish.Create('', nil) do
begin
try
InitKey(Key, @IV); //Key is auto hashed using RIPE256 here;
Result:= CodeString('12345678', paEncode, -1); //Output bytes is later encoded as …Run Code Online (Sandbox Code Playgroud) 如何使用java bouncy castle library实现AES加密?示例代码或示例代码的链接将是不错的:)
我需要做一些基于加密的工作,我发现Bouncy Castle API既可用于C#也可用于JAVA,对于java它有文档,但它没有C#的文档.
任何人都可以提供一些资源,我可以从中获得使用C#使用Bouncy Castle的想法吗?
我正在寻找一种跨平台的方式来共享ECDSA签名的公钥.从CngKey和标准.NET加密库的性能角度来看,我有一个很棒的事情,但后来我无法弄清楚33(或65)字节的公钥(使用secp256r1/P256)是如何变成104字节的由MS .. Ergo,我无法支持跨平台签名和验证..
我现在正在使用BouncyCastle,但神圣的handgranade它很慢!
因此,寻找以下要求的建议:
客户端必须能够对消息进行签名,服务器必须能够使用在注册到服务时交换的公钥来验证签名.
无论如何,想法会很棒...谢谢
我需要在Java中创建一个带有Bouncy Castle的自签名X509证书,但我尝试包含的每个类都已弃用.我怎么解决这个问题?还有其他课程要包含吗?谢谢
我在使用 Bouncycastle 时遇到了问题,这仅在运行:lint任务时出现。
通常它似乎是 Java 9 字节码版本 53.0 / ASM版本冲突。
这些是依赖项:
// https://mvnrepository.com/artifact/org.bouncycastle
implementation "org.bouncycastle:bcprov-jdk15on:1.64"
implementation "org.bouncycastle:bcpkix-jdk15on:1.64"
Run Code Online (Sandbox Code Playgroud)
这导致:lint任务抛出处理错误:
> Task :mobile:lint
Error processing bcpkix-jdk15on-1.64.jar:META-INF/versions/9/module-info.class: broken class file? (This feature requires ASM6)
Error processing bcprov-jdk15on-1.64.jar:META-INF/versions/9/module-info.class: broken class file? (This feature requires ASM6)
Run Code Online (Sandbox Code Playgroud)
META-INF/versions/9/module-info.class:类文件损坏?(此功能需要 ASM6)
这同样适用于:
// https://mvnrepository.com/artifact/com.google.code.gson/gson
implementation "com.google.code.gson:gson:2.8.6"
Run Code Online (Sandbox Code Playgroud)
自从升级1.4.1到1.4.2-native-mt,它又是一样的:
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:1.4.2-native-mt"
Run Code Online (Sandbox Code Playgroud)
kotlin-stdlib-1.4.0.jar:META-INF\versions\9\module-info.class:类文件损坏?(模块需要 ASM6)
有没有人知道如何使用充气城堡在c#中签署数据的简单教程或示例代码.在Java中有大量的教程和示例.我在c#中找不到一个例子.有谁知道如何做到这一点?
你能帮我找一个简单的教程,讲解如何在java中使用ECDSA算法对字符串进行签名.但是没有使用任何像bouncycastle这样的第三方库.只是JDK 7.我发现很难搜索一个简单的例子,我是密码学的新手.
import java.io.*;
import java.security.*;
public class GenSig {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
/*
* Generate a DSA signature
*/
try {
/*
* Generate a key pair
*/
KeyPairGenerator keyGen = KeyPairGenerator.getInstance("DSA", "SUN");
SecureRandom random = SecureRandom.getInstance("SHA1PRNG", "SUN");
keyGen.initialize(1024, random);
KeyPair pair = keyGen.generateKeyPair();
PrivateKey priv = pair.getPrivate();
PublicKey pub = pair.getPublic();
/*
* Create a Signature object and initialize it with the private key
*/
Signature …Run Code Online (Sandbox Code Playgroud) 我想为ssl连接使用自签名签名.我正在关注这篇文章.
我的问题:创建密钥库后,我的完整性检查失败.
Keytool-Error: java.io.IOException: KeyStore integrity check failed.
Run Code Online (Sandbox Code Playgroud)
我还在寻找,但也许有人可以节省我一些时间.
我是Java的安全方面的新手,偶然发现了这个名为bouncycastle的库.但他们提供的示例和互联网上的示例要求使用 -
return new PKCS10CertificationRequest("SHA256withRSA", new X500Principal(
"CN=Requested Test Certificate"), pair.getPublic(), null, pair.getPrivate()
Run Code Online (Sandbox Code Playgroud)
但是当我使用PKCS10CertificationRequest时,看起来它已被弃用.所以我开始研究另一种使用CertificationRequest类的方法.但我真的很困惑,构造函数不采用相同的参数,而是需要CertificationRequestInfo类,我不知道如何填写.
CertificationRequest request = new CertificationRequest(...);
Run Code Online (Sandbox Code Playgroud)
如果有人可以帮我弄清楚如何制作CSR以便我可以将其发送到服务器以获得签名,那将是非常棒的.
谢谢,
bouncycastle ×10
java ×6
c# ×4
cryptography ×3
certificate ×2
encryption ×2
android ×1
android-lint ×1
cng ×1
delphi ×1
gson ×1
javascript ×1
keystore ×1
security ×1
ssl ×1
x509 ×1