问题标签 [rc4-cipher]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 在 C# 中使用 Bouncy Castle RC4 算法解密字符串
我正在尝试使用库 Bouncy Castle 进行解密。但解密后的字符串不正确。我得到的值是 Aa1ŽYY445Ló,但正确的值应该是 Aa11YY445LL。我做错了什么?当我尝试在http://rc4.online-domain-tools.com/上解密字符串时,我得到了正确的结果。
代码示例:
c# - RC4 加密 KSA 密钥越界
我正在为我的 WPF 应用程序在 C# 中实现一个 RC4 算法。
我按照这个pdf说明了算法。
问题是,在 KSA,我们应该这样做:j = (j + S[i] + (int)key[i % keyLengthInBits]) % 256;
。
话虽如此,我不明白这是如何工作的,因为密钥的长度应该从 5 个字符到 32 个字符(40 位到 256 位)。
因此,让我们以 5 个字符的密钥为例(我将使用与上面链接的 pdf 相同的密钥):pwd12。您去获取该位置的密钥i % 40
字符(5 个字符长为 40 位)。前 5 次没问题,因为 from i = 0
to i=4
,我们在键(pwd12)中有一个值。虽然这是问题(从我的角度来看):当我们在时i=5
,我们没有任何字符留在键中。因此我们会得到一个ÒutOfBounds Exception
.
如果我们尝试在没有字符的键中获取字符,怎么可能工作?显然有一些我在算法中看不到的东西,因为它确实有效,否则它不会被使用......
apache - 无法禁用 TLSv1 和 RC4-SHA
我需要不支持 TLSv1 和 RC4-SHA
所以我的 ssl.conf 中有这些行
我正在使用此命令检查是否仍支持 RC4 和 TLSv1
sslscan 给了我这个结果:
显然 RC4-SHA 仍然被接受,我试图将其配置为不支持任何 RC4 和 TLSv1。有没有办法解决这个问题。
谢谢
iis - 在 IIS 服务器上禁用 RC4 密码 - 哪些浏览器会受到影响
在安全审计之后,我们被建议停止支持 RC4,显然这样做很容易。然而,我们支持浏览器回到 IE7 版本,虽然我已经在网上广泛阅读了这个主题,但我找不到一个像样的(阅读官方)来源,说明如果我们实施它,哪些浏览器会受到这种变化的影响。
我发现是 XP 机器会受到影响,并且在该括号内有 IE 的三个版本 - 6,7 和 8。
版本 6 我们不支持,所以没关系,但谁能说 7 和 8 是否会受到影响?我们的网站是电子商务网站,因此无法使用 SSL 页面将是一件大事,即使浏览器版本现在很旧。
有人在 IIS 上做过吗?XP 上的 IE7/8 是否仍然能够访问站点的安全区域?
iis - 了解用户使用的密码
我需要知道是否有很多人使用 RC4 浏览器访问我的网站。罪魁祸首是 XP 上的 IE6、7、8。
显然,通过启用 SChannel日志记录,我可以做到这一点,然后在事件日志中读取结果。
为了进行测试,我在我的测试服务器上启用了 SChannel 日志记录,但我无法在事件查看器中看到我应该能够看到这个新日志记录提供的任何信息的位置。
测试服务器使用的是自签名证书,我已经在“安全”页面上使用 IE7 访问了它,但事件日志中没有任何内容,或者至少我什么也看不到。
有谁知道我应该在哪里查看用户使用的密码?
sql-server-2005 - 为与 MS SQL Server 2005 的 JDBC 连接启用 AES_128_CBC 和 RC4_128
为了确保我的应用程序的向后兼容性,当使用易受CVE-2011-3389影响的MS SQL Server版本(任何 2005 或 2008/2008R2 不适合服务包)时,我正在测试 JDBC over TLS 行为。理论上,有两种选择:
- 通过禁用 CBC 保护
-Djsse.enableCBCProtection=false
并继续使用分组密码,例如AES_128_CBC
或3DES_EDE_CBC
, - 或回退到流密码,例如
RC4
(是的,我知道这也是不安全的,因为CVE-2015-2808)。
在实践中,虽然我在关闭 CBC 保护的情况下建立连接没有问题3DES_EDE_CBC
,但我仍然无法使用RC4_128
比1.8.0_51更新的 JDK (恰好地址CVE-2015-2808)或AES_{128,256}_CBC
(使用任何1.6+ JDK )。
以下是按 Java 版本细分的结果:
- 1.6.0_45 ( jTDS )
SSL_RSA_WITH_RC4_128_MD5
用来
- 1.7.0_76 ( jTDS ) 和任何 1.8.0 到1.8.0_45 ( MS SQL JDBC ):
SSL_RSA_WITH_RC4_128_MD5
(默认)或SSL_RSA_WITH_3DES_EDE_CBC_SHA
可以使用AES_128_CBC
即使3DES
被禁用也不会使用(3DES_EDE_CBC
无论如何都会被强制)
- 1.8.0_45 (IBM J9 8.0 SR1) ( MS SQL JDBC )
SSL_RSA_WITH_3DES_EDE_CBC_SHA
被使用(仅当 CBC 保护关闭时成功),如果请求AES
或RC4
- 1.8.0_51+ (Oracle) ( MS SQL JDBC )
SSL_RSA_WITH_3DES_EDE_CBC_SHA
已使用(仅在 CBC 保护关闭时成功),- 不会使用
AES_128_CBC
或者AES_256_CBC
即使被请求(与以前的 Java 版本不同,3DES
不再强制,而是我得到一个IOException
afterClientHello
,它确实列出*_WITH_AES_128_CBC_SHA
了兼容的密码套件) RC4
即使同时禁用AES
和禁用也不会使用3DES
:"no negotiable cipher suite"
(jTDS和MS SQL JDBC)。
这是java.security
我用来请求的AES
:
这是要请求的版本RC4
:
问题:
- 显然,
AES_{128,256}_CBC
我的 Java 客户端支持,因为我可以TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
在连接到MS SQL Server 2014时使用。谁能确认MS SQL Server 2005不支持它?由于禁用有效导致,我认为它是受支持的,但是服务器端发生了一些事情,即使 CBC 保护已关闭。AES
"no negotiable cipher suite"
- 我怎样才能
RC4
在 Java 1.8.0_51+中使用?此解决方案不再有效,也没有任何影响https.cipherSuites
系统属性(在此处描述)。6u115和7u101中有一个神奇的jdk.tls.enableRC4CipherSuites
系统属性,但在 Java 1.8 中似乎没有效果。 - jTDS到底有什么问题?
"Connection reset by peer"
它适用于 Java 1.6 和 1.7(驱动程序版本 1.2.8 和 1.3.1),但使用 Java 1.8,只要MS SQL JDBC仅用于3DES
加密连接数据,我就会不断收到。
ssl - 仅使用 TLSv1.2 且不使用 SSLv3 TLSv1.2:!aNULL:!eNULL 的密码套件规范
在两台服务器(不是 Web 服务器或类似服务器)之间使用类似 VPN 的连接时,除了身份验证之外,我还想启用加密。
身份验证部分已经在工作,需要一些加密级别的帮助。
我知道 TLSv1.2 和 v1.1 与 SSLv3 一起支持。
我只想使用 TLSv1.2 而没有别的。
TLSv1.2:!aNULL:!eNULL
使用正确的密码套件吗?
来自https://www.openssl.org/docs/manmaster/apps/ciphers.html的信息似乎不是很有帮助......
任何人都可以帮助解决这个问题吗?
ssl - 如何确定弱密码套件(RC4、AES)是否真的被禁用?
除了使用 openSSL 命令行检查服务器是否不支持密码
来源:https ://conetrix.com/Blog/disabling-and-verifying-sslv2-and-weak-ciphers-in-iis
我想知道是否还有其他方法可以真正确保服务器不再使用密码(如果禁用)?
security - RC4 移除和 SHA 1 移除之间的连接
删除 RC4 流密码和删除 SHA 1 证书之间有什么联系吗?含义 - 删除一个是否会强制删除另一个,或者只是碰巧它们都已同时删除?
java - RC4 加密 PRGA 方法抛出奇怪的异常
我目前正在实现一个聊天程序,让用户可以在 RC4 和 TEA 加密之间进行选择。这是一个合作伙伴的任务,我参加了RC4。我主要使用维基百科页面,以及我们的书(我认为代码与维基百科页面上的代码相同)。
https://en.wikipedia.org/wiki/RC4
离开那里的代码,我把它改成了Java。请注意,我的 convertKey 方法将从一个单独的类中获取一个密钥,该类利用 Diffie-Hellman 获取密钥(我现在对密钥进行硬编码以确保 RC4 按预期工作),但只有我的 RC4 类不起作用,所以除非特别要求(因为其他类工作正常,而这个 RC4 类目前不使用它们)我只会粘贴 RC4 类以避免浪费空间。
堆栈跟踪:线程“main”中的异常 java.lang.ArrayIndexOutOfBoundsException:cryptochat2.RC4.PRGA(RC4.java:80) at cryptochat2.RC4.main(RC4.java:132) Java 结果中的-24:1 -</ p>
虽然我对 RC4 有一个大致的了解,但很可能我有一两个元素混淆、不正确或类似的东西。try/catch 块给了我一个无限循环(由于我想象的 generateOutput 布尔值,因为我们还没有传递实际的消息),正数和负数,抛出 IndexOutOfBounds 异常,直到我停止程序.
我真的很感激任何帮助,我想学好这一点,不要让我的教授或我自己失望。