rc4

13种加密与解密算法【三】

♀尐吖头ヾ 提交于 2020-04-04 12:56:20
【7、对称之BlowFish】 blowfish加密函数迭代执行16轮,分组长度64位,密钥长度从32位到448位。 算法由两部分组成,密钥扩展部分和数据加密部分。 加密算法是一种对称的分组加密算法,每次加密一个64位的分组。使用32-448位可变长度的密钥。加密过程分为两个阶段:密钥预处理和信息加密。 【对称之 blowfish demo】 略! 【8、对称之RC4】 RC4于1987年提出,和DES算法一样,是一种对称加密算法,也就是说使用的密钥为单钥(或称为私钥)。但不同于DES的是,RC4不是对明文进行分组处理,而是字节流的方式依次加密明文中的每一个字节,解密的时候也是依次对密文中的每一个字节进行解密。 RC4算法的特点是算法简单,运行速度快,而且密钥长度是可变的,可变范围为1-256字节(8-2048比特)。 【对称之RC4 小demo】 【RC4 加密】 /** * RC4加密 * @param data 需要加密的内容 * @param key 自定义密钥 * @return 加密后的内容 */ public static String encry_RC4_string(String data, String key) { if (data == null || key == null) { return null; } return toHexString

AndroidStudio3.6通过annotationProcessor 依赖谷歌注解处理器引发的bug

两盒软妹~` 提交于 2020-03-06 11:09:17
想要自定义注解处理器,那么需要先添加谷歌的注解处理器的核心依赖包,依赖如下 annotationProcessor 'com.google.auto.service:auto-service:1.0-rc4' 然后需要使用com.google.auto.service中的AutoService这个注解,如下 但在构建项目的时候会报如下错误 这个错误:说没有找到AutoService这个类,那也就是说没有依赖成功。 挺奇怪的一个错误,翻了下资料,再添加如下代码可解决。 compileOnly 'com.google.auto.service:auto-service:1.0-rc4' 来源: CSDN 作者: 程序猿_heqiang 链接: https://blog.csdn.net/u010632547/article/details/104689590

RC4加密

荒凉一梦 提交于 2020-02-26 02:35:13
介绍 在密码学 中 , RC4 (Rivest Cipher 4,也称为 ARC4 或 ARCFOUR, 意为所谓的RC4)是一种 流密码 。 尽管它以简单性和软件速度着称,但在RC4中发现了多个漏洞,使其不安全。 当 不丢弃 输出 密钥流 的开头 或使用非随机或相关密钥 时,它特别容易受到攻击 。 RC4的使用特别有问题,导致 协议 非常不安全, 例如 WEP。 参数介绍 参数名 说明 S S-box,长度为256的char型数组,char S[256] K 密钥Key,用户自定义,长度在1~256,用来打乱S-box T 临时变量,长度为256的char型数组 D 保存加密前/后数据 基本流程 初始化 S 和 T 数组。 初始化置换 S。 生成密钥流。 初始化S和T数组+初始化置换S void RC4_Init(unsigned char* S, unsigned char* K, unsigned int len) { int i, j = 0; unsigned char ch_tmp, T[256] = { 0 };//临时变量 for (i = 0; i < 256; ++i) { S[i] = i;//初始化S-box T[i] = K[i % len];//密钥填充临时数组 } //打乱S-box for (i = 0; i < 256; ++i) { j = (j

主机漏洞-SSL/TLS 受诫礼(BAR-MITZVAH)***漏洞(CVE-2015-2808)【原

↘锁芯ラ 提交于 2020-01-22 01:46:09
一、漏洞分析 事件起因 2015年3月26日,国外数据安全公司Imperva的研究员Itsik Mantin在BLACK HAT ASIA 2015发表论文《Attacking SSL when using RC4》阐述了利用存在了13年之久的RC4漏洞——不变性弱密钥(《Weakness in the Key Scheduling Algorithm of RC4》,FMS 发表于2001年)进行的***,并命名为“受戒礼”***(Bar Mitzvah Attack)。 直到2015年3月,还有约30%的网络通信是由RC4进行保护的。通过“受戒礼”***,***者可以在特定环境下只通过嗅探监听就可以还原采用RC4保护的加密信息中的纯文本,导致账户、密码、信用卡信息等重要敏感信息暴露,并且可以通过中间人(Man-in-the-middle)进行会话劫持。 ***方法和模式 ***者嗅探监听大量的SSL链接,可以判断第一个加密消息包含SSL的完成消息和HTTP请求,都是具有可预测的信息的。然后等待一个不变性弱密钥的链接到来,当获取到一个弱密钥链接时候就可以提取出LBS。当弱密钥使用的时候,明文和密钥会进行异或,***者可以看到生成的密文模式。 ***者同样也进行DNS投毒,将所有的链接链接到一个恶意的主机,主机进行中间人***,能够有效地进行大量用户的嗅探监听和会话劫持。

主机漏洞-SSL/TLS 受诫礼(BAR-MITZVAH)攻击漏洞(CVE-2015-2808)【原理扫描】-RC4密码套件

Deadly 提交于 2020-01-20 03:28:11
一、漏洞分析 事件起因 2015年3月26日,国外数据安全公司Imperva的研究员Itsik Mantin在BLACK HAT ASIA 2015发表论文《Attacking SSL when using RC4》阐述了利用存在了13年之久的RC4漏洞——不变性弱密钥(《Weakness in the Key Scheduling Algorithm of RC4》,FMS 发表于2001年)进行的攻击,并命名为“受戒礼”攻击(Bar Mitzvah Attack)。 直到2015年3月,还有约30%的网络通信是由RC4进行保护的。通过“受戒礼”攻击,攻击者可以在特定环境下只通过嗅探监听就可以还原采用RC4保护的加密信息中的纯文本,导致账户、密码、信用卡信息等重要敏感信息暴露,并且可以通过中间人(Man-in-the-middle)进行会话劫持。 攻击方法和模式 攻击者嗅探监听大量的SSL链接,可以判断第一个加密消息包含SSL的完成消息和HTTP请求,都是具有可预测的信息的。然后等待一个不变性弱密钥的链接到来,当获取到一个弱密钥链接时候就可以提取出LBS。当弱密钥使用的时候,明文和密钥会进行异或,攻击者可以看到生成的密文模式。 攻击者同样也进行DNS投毒,将所有的链接链接到一个恶意的主机,主机进行中间人攻击,能够有效地进行大量用户的嗅探监听和会话劫持。 漏洞原理和细节 根据

SSL connection fails with wget, curl, but succeed with firefox and lynx

霸气de小男生 提交于 2019-12-24 04:41:12
问题 I'm having trouble accessing this website by automated script: https://mydtac.dtac.co.th/EserviceLogin/Login?page=N&lang=en If i view from a browser (chrome, firefox, even lynx is working), it's all ok. I if try to load it from PHP (fsockopen), wget, or curl, it's complaining: Warning: stream_socket_enable_crypto(): SSL operation failed with code 1. OpenSSL Error messages: error:140943FC:SSL routines:SSL3_READ_BYTES:sslv3 alert bad record mac in Also the openssl check fails: openssl s_client

SSLHandshakeException: Received fatal alert: handshake_failure when setting ciphers on tomcat 7 server

匿名 (未验证) 提交于 2019-12-03 02:30:02
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试): 问题: I have a Tomcat7 web-server which I tried to configure to accept secure connections by adding this connector to the server.xml file: I'm using a self-signed certificate generated using this command: %JAVA_HOME%/bin/keytool -genkeypair -keystore c:\opt\engine\conf\tc.keystore -storepass o39UI12z-keypass o39UI12z-dname "cn=Company, ou=Company, o=Com, c=US" -alias server -validity 36500 On the client side I have a spring application that connects with the server using RestTemplate . On application context startup I initalize the restTemplate

Enabled ciphers on Ubuntu OpenJDK 7

匿名 (未验证) 提交于 2019-12-03 02:20:02
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试): 问题: I wrote the following Java program to dump the enabled ciphers in the JVM: import java.security.KeyStore; import javax.net.ssl.KeyManagerFactory; import javax.net.ssl.SSLContext; import javax.net.ssl.SSLSocket; import javax.net.ssl.TrustManagerFactory; public class ListCiphers { public static void main(String[] args) throws Exception { SSLContext ctx = SSLContext.getInstance("TLSv1"); // Create an empty TrustManagerFactory to avoid loading default CA KeyStore ks = KeyStore.getInstance("JKS"); TrustManagerFactory tmf = TrustManagerFactory

SSLHandshakeException: Received fatal alert: handshake_failure when setting ciphers on tomcat 7 server

匿名 (未验证) 提交于 2019-12-03 02:13:02
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试): 问题: I have a Tomcat7 web-server which I tried to configure to accept secure connections by adding this connector to the server.xml file: <Connector SSLEnabled="true" acceptCount="100" connectionTimeout="20000" executor="tomcatThreadPool" keyAlias="server" keystoreFile="c:\opt\engine\conf\tc.keystore" keystorePass="o39UI12z" maxKeepAliveRequests="15" port="8443" protocol="HTTP/1.1" redirectPort="8443" scheme="https" secure="true" sslProtocol="TLS"/> I'm using a self-signed certificate generated using this command: %JAVA_HOME%/bin/keytool

How to compile Mono in Debian Wheezy

匿名 (未验证) 提交于 2019-12-03 01:39:01
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试): 问题: Trying to fix Mono SIGSEGV as described in How to fix SIGSEGV which prevents MVC application running in Mono I tried to compile newer mono from source codes: wget http://download.mono-project.com/sources/mono/mono-5.18.0.225.tar.bz2 cd /usr/local/src tar jxf mono-5.18.0.225.tar.bz2 cd mono-5.18.0.225 ./autogen.sh --prefix=/opt/m518 autogen stops with error that CMake 2.8.10 is required: .... Making install in btls make[2]: Entering directory `/usr/local/src/mono-5.18.0.268/mono/btls' mkdir -p build-shared (cd build-shared && CC="gcc" CXX="g+