草庐IT

ECDHE-ECDSA-AES

全部标签

php - 如何解密HTTPS(ECDHE)数据?

我正在尝试了解HTTPS的工作原理并进行一些实际测试。我有一个通过TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA加密的HTTPS通信捕获的数据。如果我没理解错的话,客户端在TLS握手期间会创建一个主key,然后使用服务器的公钥对其进行加密并发送到服务器。这个主key(作为纯文本)然后用作对称key来加密正在进行的通信。这是正确的吗?如果是,如果我知道主key,如何解密数据?起初对我来说这听起来很简单,所以我就写了这个脚本$masterKey='8ef36f0eb2c10ea6142693374f6c5c7ae65eee5f6bd45bd1990b08e6c1442

javascript - 客户端 (JS) 和服务器 (PHP) 中的 AES 256

我正在尝试使用相同类型的操作(即AES-256)在服务器端和客户端加密和解密数据。在服务器上我使用PHP,客户端我使用CryptoJS到目前为止我只能在服务器上加密和解密客户端,请参见代码:JSvarsalt=CryptoJS.lib.WordArray.random(128/8);varkey256Bits500Iterations=CryptoJS.PBKDF2("SecretPassphrase",salt,{keySize:256/32,iterations:500});variv=CryptoJS.enc.Hex.parse('101112131415161718191a1b

java - 解密 TLS 1.2 AES-GCM 数据包

我正在开发一个Java程序来解密使用TLS_RSA_WITH_AES_128_GCM_SHA256密码的TLS1.2session。我使用wireshark录制了一个测试session。MasterSecret已为人所知。No.TimeProtocolLengthInfo40.000124000TLSv1.2166ClientHello60.000202000TLSv1.21074ServerHello,Certificate,ServerHelloDone80.001071000TLSv1.2393ClientKeyExchange,ChangeCipherSpec,Finished

java - AES加密在CFB模式下截断文本

我正在尝试从文件中读取数据并在CFB模式下使用无填充的AES加密数据'AES/CFB/NoPadding'。IV长16个字节。鉴于默认情况下AES使用16字节block,如果我使用CBC或除CFB之外的任何其他模式,我会考虑使用填充方案。CFB本质上不需要对明文进行填充。所以问题是,如果我的文件包含小于16字节的数据,则不会加密任何内容。如果它大于16个字节,则只有前16个字节被加密。这清楚地表明block大小正在启动,并且是否存在字节w.r.t.的下溢或溢出。block大小,然后丢弃该数据/字节。我不明白的是,在使用CFB时,我不需要填充数据......对吧!那么为什么AES的16字

Java AES加解密静态秘钥

我有一个应用程序需要在配置文件中存储一些secret密码,例如数据库和ftp密码/详细信息。我环顾四周,发现了很多使用AES的加密/解密解决方案,但我似乎无法弄清楚如何在不更改key的情况下使其工作。这意味着我可以加密和解密(使用相同的SecretKey),但要在重启等过程中保持持久性。我似乎无法让SecretKey保持不变。下面的例子展示了我的方法:Stringsecret=Encryptor.encrpytString("Thisissecret");Stringtest=Encryptor.decrpytString(secret);System.out.println(test

Java 等效于 C# AES 加密

我在C#中有以下代码。它使用AES对称算法对字节数组进行编码。我需要编写与此代码等效的Java。classProgram{staticvoidMain(string[]args){stringa="ABCDEFGHIJKLMNOP";byte[]bytes=Encoding.ASCII.GetBytes(a);byte[]cipher=encode(bytes,"1111111122222222111111112222222211111111222222221111111122222222","66666666555555556666666655555555");}privatesta

java - 使用 BouncyCaSTLe 轻量级 API 的 AES-256 加密

我使用Java的内置加密库编写了一些(功能性)AES加密代码,如下所示,但我想使用256位key。但是,我希望无需用户安装UnlimitedStrengthCryptographyPolicy文件即可执行此操作。现在,我听说使用BouncyCaSTLeLightweightAPI可以让我做到这一点,但不幸的是,我在理解它时遇到了很多麻烦,并且正在努力寻找任何对我有帮助的文档。这是我当前的代码,其中'content'是要加密的字节数组:KeyGeneratorkgen=KeyGenerator.getInstance("AES");intkeySize=128;kgen.init(key

java - 在 Java 中使用 AES 256 加密 RSA 私钥

我正在用Java编写一个安全的文件共享应用程序。总体架构如下所示:用户希望加密文件以在多个用户之间安全共享。应用程序在客户端生成一个随机UUID并将其用作AES256密码,并使用UUID加密数据。然后使用每个人的公钥对UUID进行RSA加密。每个共享用户一次。每个加密的UUID数据包都作为文件的一部分存储在自定义文件头中。然后文件会上传到其他人可以访问的服务器。每个用户都可以使用他们的私钥来读取AES加密key并解密文件。这里是陷阱。用户的私钥必须加密并存储在我们服务器的数据库中,以便可以从多个位置访问文件。在上传到服务器之前,私钥将使用客户端上用户选择的密码进行加密。我想使用AES2

java - 在java中使用AES有效加密文件

我正在开发一个应该加密一些小文件(小于1MB)和大文件(大约500MB)的应用程序。如何加密文件并将加密版本有效地保存在磁盘上的某个位置(即快速)?如果花时间我可以有加密进度吗? 最佳答案 假设您有一个AESkey和一些输出流,下面介绍了如何向流中添加加密装饰器。Cipherenc=Cipher.getInstance("AES/CBC/PKCS5Padding");enc.init(Cipher.ENCRYPT_MODE,key);AlgorithmParametersparams=enc.getParameters();IvPa

java - 这种 AES 加密是否足够安全?

我从http://www.ravenblast.com/index.php/blog/android-password-text-encryption/得到了这段代码而且,虽然它有效,但我越来越怀疑它不够安全。根据其他来源,似乎没有任何必要的初始化vector。publicstaticStringencrypt(StringtoEncrypt,byte[]key)throwsException{SecretKeySpecskeySpec=newSecretKeySpec(key,"AES");Ciphercipher=Cipher.getInstance("AES");cipher.i