cryptography相关内容

iOS 中的椭圆曲线加密

我正在尝试将 ECC 合并到用于安全通信的 iPhone 应用程序中,但我很难找到合适的库/教程来说明如何在 Objective-c 中执行此操作.我读了这篇文章:如何在iOS中使用ECC但它是在将近一年前发布的,没有任何回应.任何提示/建议将不胜感激 谢谢! 解决方案 根据我的经验,您可以使用 Nacl 库.这个库有curve25519椭圆曲线实现.这是最先进的和最快的库. ..
发布时间:2022-01-10 10:42:02 移动开发

AES 加密,解密文件中有多余的垃圾字符

我正在 Android 应用程序中制作调试登录功能.我有一个简单的类,它使用 128 位 AES 加密记录到 .txt 文件. 记录完成后,我用一个简单的 JAVA 程序解密记录的文件. 问题是当我解密加密日志时我得到了一些奇怪的内容,我也得到了加密的内容,但是有一些额外的字符,见下文. Android 应用日志部分: 公共类 FileLogger {//文件和文件夹名称公共静 ..
发布时间:2022-01-10 10:41:45 Java开发

AES 错误:给定的最终块未正确填充

我需要有关此错误的帮助:给定最终块未正确填充.从标题可以看出,我正在使用 AES. 这是错误所在行的代码: byte[] 解密 = cipher.doFinal(bytes); 这里是完整的代码: 公共类 AESCrypt {私有最终密码;私有最终 SecretKeySpec 密钥;私有字符串 encryptedText,decryptedText;公共 AESCrypt(字符串密码 ..
发布时间:2022-01-10 10:41:26 Java开发

在 Android 和 iPhone 中使用 AES 256 加密(不同的结果)

我正在尝试通过引用 IOS 实现在 Android 平台上实现客户端加密/解密.我正在努力解决Android和IOS平台上的加密和解密不同的问题,即使它们使用了相同的算法.比方说,当Android设备加密上传文件到服务器时,IOS设备无法正确下载和解密. 我正在使用的算法 使用用户提供的密码加密文件密钥.我们首先使用 PBKDF2 算法(SHA256 的 1000 次迭代)从密码中导出 ..
发布时间:2022-01-10 10:41:17 移动开发

使用 BouncyCastle 验证 ECDSA 签名

我正在测试 BouncyCastle 以使用 ECDSA、nist P251 验证签名.(Xamarin 的加密 API 还没有实现,我开始使用 Bouncy Castle lib.) 无论如何,我在下面的代码中面临的是......方法 B 与 C# API 一起正常工作,方法 A 不是.A 方法的 ECPoint 看起来有问题,但我无法查看详细信息. (我已检查,但无法修复.) ..
发布时间:2022-01-10 10:41:08 C#/.NET

PBEWithMD5AndTripleDES/CBC/PKCS5Padding的Nodejs javascript实现

为了编写一个简单的 nodejs 应用程序与用 java 编写的服务器通信,我必须为 nodejs 实现以下功能. 公共类 Crypto {密码破译;字节 [] 盐 = {(字节) 0x01, (字节) 0x02, (字节) 0x03, (字节) 0x04,(字节) 0x0A, (字节) 0x0B, (字节) 0x0C, (字节) 0x0D};整数迭代计数 = 10;公共加密(字符串传递){尝试 ..
发布时间:2022-01-10 10:40:36 前端开发

Java 中的 AES-256-CBC

我正在尝试编写一个简单的 Java 程序,该程序将使用 AES-256-CBC 加密纯文本.有课: import javax.crypto.Cipher;导入 javax.crypto.spec.IvParameterSpec;导入 javax.crypto.spec.SecretKeySpec;公共类 AesCBC {私有字节 [] 密钥;私有字节[] iv;私有静态最终字符串 ALGORIT ..
发布时间:2022-01-10 10:40:25 Java开发

在 Java 中使用 BouncyCastle 使用 ECIES 进行加密

我正在尝试使用 Java 中的 BouncyCastle 使用 ECC 算法加密一些内容.但是我收到 BouncyCastle 库的异常,说不能将 JCEECPublicKey 转换为 IESKey.据我了解, KeyPairGenerator 生成的公钥是 JCEECPublicKey ,不能在 java Cipher.init 方法中使用.有人可以告诉我如何将它转换为公钥或 X509 规范,以 ..
发布时间:2022-01-10 10:40:17 Java开发

使用 RSA 进行模乘会导致 Java Card 出错

您好,我正在研究 Java Card 上的一个项目,这意味着很多模乘.我设法在这个平台上使用 RSA 密码系统实现了模乘,但它似乎适用于某些数字. public byte[] modMultiply(byte[] x, short xOffset, short xLength, byte[] y,短 yOffset,短 yLength,短 tempOutoffset) {//将x值复制到临时ra ..
发布时间:2022-01-10 10:40:02 Java开发

在 PKCS#1 OAEP 加密/解密中交换公钥/私钥

我对RSA只有一些非常初级的理论知识. 在阅读有关如何在实践中使用它的不同来源时,PKCS#1 OAEP 似乎是一件好事. 对于测试实现,我使用 Python 和 PyCrypto.例如.this 是使用 PKCS# 的示例1 OAEP. 使用公钥加密,然后使用私钥解密可以正常工作.例如.公众可以使用私钥向 X 人发送一些数据. 根据我对 RSA 工作原理的基本了解,我认为 ..
发布时间:2022-01-10 10:39:36 其他开发

从私钥派生 ECDSA 公钥

我试图从私钥生成公共 ECDSA 密钥,但我没有设法在互联网上找到有关如何执行此操作的太多帮助.几乎所有东西都是为了从公钥规范生成公钥,我不知道如何得到它.到目前为止,这是我整理的: public void setPublic() 抛出 GeneralSecurityException {ECNamedCurveParameterSpec 参数 = ECNamedCurveTable.getPa ..
发布时间:2022-01-10 10:39:26 Java开发

寻找与 php 的 password-verify() 等效的 c#

我需要将一堆用户帐户 Moodle 导入用 c# 编写的系统. Moodle 使用 password_hash() 函数来创建密码的哈希值.我需要能够在 c# 中验证这些密码. 换句话说,我正在寻找 PHP 密码验证功能的 c# 实现(http://www.php.net/manual/en/function.password-verify.php ). 我用谷歌搜索了一下,但真 ..
发布时间:2022-01-10 10:39:17 PHP

ios/swift 中的椭圆曲线 Diffie Hellman

iOS 是否公开 API 用于生成密钥和使用 ECDH 导出密钥? 据我所知,Apple 正在内部使用它(特别是 x25519),但我认为它没有通过通用加密或其他方式公开为公共 API. 谢谢, Z 解决方案 在 Playground 中使用 Xcode 8.3.3 完成,使用 EC 为 Alice、Bob 生成一个私钥/公钥,然后使用 Alice 的私钥计算 Alice ..
发布时间:2022-01-10 10:39:10 移动开发

CMS 使用不在本地受信任证书存储中的证书链登录 .NET

我有存储在网络上的 X509 证书.我可以从远程 Windows 证书存储中读取链.我需要对一些数据进行签名并在签名中包含链,以便以后对其进行验证. 问题是我找不到将证书链放入 CsmSigner 的方法.我读过它从构造函数参数中获取证书并尝试使用 X509Chain.Build 构建一个链.它忽略证书列表值并(显然)失败,因为在本地 Windows 证书存储中找不到证书. 请在下面找 ..
发布时间:2022-01-10 10:38:49 C#/.NET

如何使用密钥大小和计算 RSA 密文的大小明文长度?

我想使用 RSA_PKCS_V21(使用 PolarSSL 库)加密一些明文.问题是我需要在执行算法之前知道密文的大小(用于动态内存分配目的).我知道 RSA 密钥大小和明文长度. 我也想知道输入明文长度的限制. 有什么想法吗? 解决方案 只需检查 RSA PKCS#1 v2.1 标准,第 7.2 章: RSAES-PKCS1-V1_5-ENCRYPT ((n, e), M) ..
发布时间:2022-01-10 10:38:41 其他开发

节点:使用 crypto.randomBytes 生成 6 位随机数

由于 1000000 不是 2 的幂,随机生成从 0 到 999999 的精确值的正确方法是什么? 这是我的方法: 使用crypto.randomBytes生成3个字节并转换为hex 使用前 5 个字符转换为整数(最大值为 fffff == 1048575 > 999999) 如果结果> 999999,再次从第1步开始 它会以某种方式创建一个递归函数.它在逻辑上是否正确,是否 ..
发布时间:2022-01-10 10:38:32 其他开发