當前位置:首頁 » 操作系統 » 禁用的演算法

禁用的演算法

發布時間: 2022-02-15 08:18:45

『壹』 如何禁用的SSLv3在IIS和RC4加密演算法

為一個基於密碼學的安全開發包,OpenSSL提供的功能相當強大和全面,囊括了主要的密碼演算法、常用的密鑰和證書封裝管理功能以及SSL協議,並提供了豐富的應用程序供測試或其它目的使用。
1.對稱加密演算法
OpenSSL一共提供了8種對稱加密演算法,其中7種是分組加密演算法,僅有的一種流加密演算法是RC4。這7種分組加密演算法分別是AES、DES、Blowfish、CAST、IDEA、RC2、RC5,都支持電子密碼本模式(ECB)、加密分組鏈接模式(CBC)、加密反饋模式(CFB)和輸出反饋模式(OFB)四種常用的分組密碼加密模式。其中,AES使用的加密反饋模式(CFB)和輸出反饋模式(OFB)分組長度是128位,其它演算法使用的則是64位。事實上,DES演算法裡面不僅僅是常用的DES演算法,還支持三個密鑰和兩個密鑰3DES演算法。
2.非對稱加密演算法
OpenSSL一共實現了4種非對稱加密演算法,包括DH演算法、RSA演算法、DSA演算法和橢圓曲線演算法(EC)。DH演算法一般用戶密鑰交換。RSA演算法既可以用於密鑰交換,也可以用於數字簽名,當然,如果你能夠忍受其緩慢的速度,那麼也可以用於數據加密。DSA演算法則一般只用於數字簽名。
3.信息摘要演算法
OpenSSL實現了5種信息摘要演算法,分別是MD2、MD5、MDC2、SHA(SHA1)和RIPEMD。SHA演算法事實上包括了SHA和SHA1兩種信息摘要演算法,此外,OpenSSL還實現了DSS標准中規定的兩種信息摘要演算法DSS和DSS1。
4.密鑰和證書管理
密鑰和證書管理是PKI的一個重要組成部分,OpenSSL為之提供了豐富的功能,支持多種標准。
首先,OpenSSL實現了ASN.1的證書和密鑰相關標准,提供了對證書、公鑰、私鑰、證書請求以及CRL等數據對象的DER、PEM和BASE64的編解碼功能。OpenSSL提供了產生各種公開密鑰對和對稱密鑰的方法、函數和應用程序,同時提供了對公鑰和私鑰的DER編解碼功能。並實現了私鑰的PKCS#12和PKCS#8的編解碼功能。OpenSSL在標准中提供了對私鑰的加密保護功能,使得密鑰可以安全地進行存儲和分發。
在此基礎上,OpenSSL實現了對證書的X.509標准編解碼、PKCS#12格式的編解碼以及PKCS#7的編解碼功能。並提供了一種文本資料庫,支持證書的管理功能,包括證書密鑰產生、請求產生、證書簽發、吊銷和驗證等功能。
事實上,OpenSSL提供的CA應用程序就是一個小型的證書管理中心(CA),實現了證書簽發的整個流程和證書管理的大部分機制。
5.SSL和TLS協議
OpenSSL實現了SSL協議的SSLv2和SSLv3,支持了其中絕大部分演算法協議。OpenSSL也實現了TLSv1.0,TLS是SSLv3的標准化版,雖然區別不大,但畢竟有很多細節不盡相同。
雖然已經有眾多的軟體實現了OpenSSL的功能,但是OpenSSL裡面實現的SSL協議能夠讓我們對SSL協議有一個更加清楚的認識,因為至少存在兩點:一是OpenSSL實現的SSL協議是開放源代碼的,我們可以追究SSL協議實現的每一個細節;二是OpenSSL實現的SSL協議是純粹的SSL協議,沒有跟其它協議(如HTTP)協議結合在一起,澄清了SSL協議的本來面目。
6.應用程序
OpenSSL的應用程序已經成為了OpenSSL重要的一個組成部分,其重要性恐怕是OpenSSL的開發者開始沒有想到的。現在OpenSSL的應用中,很多都是基於OpenSSL的應用程序而不是其API的,如OpenCA,就是完全使用OpenSSL的應用程序實現的。OpenSSL的應用程序是基於OpenSSL的密碼演算法庫和SSL協議庫寫成的,所以也是一些非常好的OpenSSL的API使用範例,讀懂所有這些範例,你對OpenSSL的API使用了解就比較全面了,當然,這也是一項鍛煉你的意志力的工作。
OpenSSL的應用程序提供了相對全面的功能,在相當多的人看來,OpenSSL已經為自己做好了一切,不需要再做更多的開發工作了,所以,他們也把這些應用程序成為OpenSSL的指令。OpenSSL的應用程序主要包括密鑰生成、證書管理、格式轉換、數據加密和簽名、SSL測試以及其它輔助配置功能。
7.Engine機制 Engine機制的出現是在OpenSSL的0.9.6版的事情,開始的時候是將普通版本跟支持Engine的版本分開的,到了OpenSSL的0.9.7版,Engine機制集成到了OpenSSL的內核中,成為了OpenSSL不可缺少的一部分。 Engine機制目的是為了使OpenSSL能夠透明地使用第三方提供的軟體加密庫或者硬體加密設備進行加密。OpenSSL的Engine機製成功地達到了這個目的,這使得OpenSSL已經不僅僅使一個加密庫,而是提供了一個通用地加密介面,能夠與絕大部分加密庫或者加密設備協調工作。當然,要使特定加密庫或加密設備更OpenSSL協調工作,需要寫少量的介面代碼,但是這樣的工作量並不大,雖然還是需要一點密碼學的知識。Engine機制的功能跟Windows提供的CSP功能目標是基本相同的。目前,OpenSSL的0.9.7版本支持的內嵌第三方加密設備有8種,包括:CryptoSwift、nCipher、Atalla、Nuron、UBSEC、Aep、SureWare以及IBM 4758 CCA的硬體加密設備。現在還出現了支持PKCS#11介面的Engine介面,支持微軟CryptoAPI的介面也有人進行開發。當然,所有上述Engine介面支持不一定很全面,比如,可能支持其中一兩種公開密鑰演算法。
8.輔助功能
BIO機制是OpenSSL提供的一種高層IO介面,該介面封裝了幾乎所有類型的IO介面,如內存訪問、文件訪問以及Socket等。這使得代碼的重用性大幅度提高,OpenSSL提供API的復雜性也降低了很多。
OpenSSL對於隨機數的生成和管理也提供了一整套的解決方法和支持API函數。隨機數的好壞是決定一個密鑰是否安全的重要前提。
OpenSSL還提供了其它的一些輔助功能,如從口令生成密鑰的API,證書簽發和管理中的配置文件機制等等。如果你有足夠的耐心,將會在深入使用OpenSSL的過程慢慢發現很多這樣的小功能,讓你不斷有新的驚喜。

『貳』 如何強制https使用指定的演算法

SCHANNEL\Protocols 子項
協議 的注冊表項下 SCHANNEL 鍵用於的控制項使用的協議支持由 Schannel.dll 文件,並限制該協議使用 TLS 伺服器或 TLS 的客戶端。

若要禁止使用的 SSL 3.0 或 TLS 1.0 之外的其他協議,請將 Enabled 值的 DWORD 鍊兼暟鎹改為 0x0 中下面的注冊表項,在 協議 鍵下的每個:

SCHANNEL\Protocols\PCT 1.0\Client
SCHANNEL\Protocols\PCT 1.0\Server
SCHANNEL\Protocols\SSL 2.0\Client
SCHANNEL\Protocols\SSL 2.0\Server
目前的 Microsoft 消息隊列使用的客戶端和伺服器之間只有 PCT 1.0

SCHANNEL\Ciphers 子項
密碼 的注冊表項下 SCHANNEL 鍵用於控制如 DES 或 RC4 對稱演算法的使用。 以下是在 密碼 鍵下的有效注冊表項。

SCHANNEL\Ciphers\RC4 128/128 子項:

rc4 128/128

此子項是指 128 位 RC4。

要允許此密碼演算法、 0xffffffff 到更改 啟用 值的 DWORD 值數據,否則更改為 0x0 的 DWORD 值數據。 如果不配置 啟用 值,啟用了默認值。 此注冊表項不能應用於不具備 SGC 證書

---------------------------------------------------------------------------------------

des:有好幾種:0xffffffff 到更改 啟用,否則更改為 0x0 ,不配置 啟用 值,啟用了默認值,但有很多不允許禁用的演算法。。。

TLS 1.0 和SSL 3.0 :{}是要在regedit里建的值:

ssl_rsa_export_with_rc4_40_md5 {0x00,0x03}
ssl_rsa_with_rc4_128_md5 {0x00,0x04}
SSL_RSA_WITH_DES_CBC_SHA {0x00,0x09}
ssl_rsa_with_3des_ede_cbc_sha {0x00,0x0A}
ssl_rsa_export1024_with_des_cbc_sha {0x00,0x62}
ssl_rsa_export1024_with_rc4_56_sha {0x00,0x64}

TLS_RSA_WITH_DES_CBC_SHA {0x00,0x09}
tls_rsa_with_3des_ede_cbc_sha {0x00,0x0A}
tls_rsa_export1024_with_des_cbc_sha {0x00,0x62
tls_rsa_export_with_rc4_40_md5

{0x00,0x03}

tls_rsa_with_rc4_128_md5 {0x00,0x04}

1

。。。。SCHANNEL\Ciphers\Triple DES 128/128 子項:

三重 DES 168/168

2

。。。。SCHANNEL\Ciphers\RC2 56/56 子項:

DES 56/56

3

SCHANNEL\Hashes\MD5 子項:

md5

=====
例子:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Hashes\MD5]
"Enabled"=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Hashes\SHA]
"Enabled"=dword:ffffffff

『叄』 在程序里禁用了 Nagle 演算法還會出現 200ms 延遲么

那兩條日誌確實是在 rlen, err := rd.Read(rbuf[:]) 的前後,但是這個 read 介面只調用一次 reader 的 read,產生延遲應該不是需要填滿 buf 引發的。

// Read reads data into p.
// It returns the number of bytes read into p.
// It calls Read at most once on the underlying Reader,
// hence n may be less than len(p).
// At EOF, the count will be zero and err will be io.EOF.
func (b *Reader) Read(p []byte) (n int, err error) {
...
}

『肆』 win10關閉nagle演算法的缺點

缺點:導致某些在線操作延遲過高,進而導致網游卡頓。

Nagle演算法的基本定義是任意時刻,最多隻能有一個未被確認的小段。所謂「小段」,指的是小於MSS尺寸的數據塊,所謂「未被確認」,是指一個數據塊發送出去後,沒有收到對方發送的ACK確認該數據已收到。

演算法

TCP/IP協議中,無論發送多少數據,總是要在數據前面加上協議頭,同時,對方接收到數據,也需要發送ACK表示確認。為了盡可能的利用網路帶寬,TCP總是希望盡可能的發送足夠大的數據。(一個連接會設置MSS參數,因此,TCP/IP希望每次都能夠以MSS尺寸的數據塊來發送數據)。Nagle演算法就是為了盡可能發送大塊數據,避免網路中充斥著許多小數據塊。

『伍』 路由演算法的啟用與停用 ,比如rip停掉,而改用ospf,

先啟用ospf,
router ospf 1
network + 所要宣告的網路地址
網路收斂以後在全局模式下:
no router rip 就把rip關掉了

『陸』 怎麼在伺服器端禁止使用rc4加密演算法

.版本 2.子程序 加密為rc4, 文本型, 公開, 用RC4演算法對文本進行加密.參數 加密的數據, 文本型, , 欲加密的文本.參數 加密密鑰, 文本型, 可空, 用作加密的密碼.局部變數 臨時, 位元組集.局部變數 s, 位元組型, , "256".局部變數 k, 位元組型, , "256"....

『柒』 ssl安全 怎麼禁用RC4加密演算法

SCHANNEL\Protocols 子項
協議 的注冊表項下 SCHANNEL
鍵用於的控制項使用的協議支持由 Schannel.dll 文件,並限制該協議使用 TLS 伺服器或 TLS 的客戶端。

若要禁止使用的 SSL
3.0 或 TLS 1.0 之外的其他協議,請將 Enabled 值的 DWORD 鍊兼暟鎹改為 0x0 中下面的注冊表項,在 協議 鍵下的每個:

目前的 Microsoft 消息隊列使用的客戶端和伺服器之間只有 PCT 1.0

SCHANNEL\Ciphers 子項

密碼 的注冊表項下 SCHANNEL 鍵用於控制如 DES 或 RC4
對稱演算法的使用。 以下是在 密碼 鍵下的有效注冊表項。

SCHANNEL\Ciphers\RC4
128/128 子項:

rc4 128/128

此子項是指 128 位 RC4。

要允許此密碼演算法、 0xffffffff 到更改
啟用 值的 DWORD 值數據,否則更改為 0x0 的 DWORD
值數據。 如果不配置 啟用 值,啟用了默認值。 此注冊表項不能應用於不具備 SGC
證書

---------------------------------------------------------------------------------------

des:有好幾種:0xffffffff 到更改 啟用,否則更改為 0x0 ,不配置 啟用
值,啟用了默認值,但有很多不允許禁用的演算法。。。

TLS 1.0 和SSL 3.0
:{}是要在regedit里建的值:

ssl_rsa_export_with_rc4_40_md5
{0x00,0x03}

ssl_rsa_with_rc4_128_md5
{0x00,0x04}

SSL_RSA_WITH_DES_CBC_SHA
{0x00,0x09}

ssl_rsa_with_3des_ede_cbc_sha
{0x00,0x0A}

ssl_rsa_export1024_with_des_cbc_sha
{0x00,0x62}

ssl_rsa_export1024_with_rc4_56_sha
{0x00,0x64}

TLS_RSA_WITH_DES_CBC_SHA
{0x00,0x09}

tls_rsa_with_3des_ede_cbc_sha
{0x00,0x0A}

tls_rsa_export1024_with_des_cbc_sha
{0x00,0x62
tls_rsa_export_with_rc4_40_md5

{0x00,0x03}

tls_rsa_with_rc4_128_md5
{0x00,0x04}

1

。。。。SCHANNEL\Ciphers\Triple
DES 128/128 子項:

三重 DES 168/168

2

。。。。SCHANNEL\Ciphers\RC2 56/56
子項:

DES 56/56

3

SCHANNEL\Hashes\MD5
子項:

md5

=====
例子:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Hashes\MD5]
"Enabled"=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Hashes\SHA]
"Enabled"=dword:ffffffff

SCHANNEL\Protocols\PCT 1.0\Client

SCHANNEL\Protocols\PCT 1.0\Server

SCHANNEL\Protocols\SSL 2.0\Client

SCHANNEL\Protocols\SSL 2.0\Server

『捌』 求演算法的功能

這個演算法是求一個數組的和,這個數組有n個元素,這個數組的定義是a(n)=n!,我這個數組的求和s(n)=1!+2!+……+n!,我這個演算法或者這個函數的功能就是求s=s(n)。

熱點內容
我的世界伺服器等級如何升 發布:2025-01-15 12:45:55 瀏覽:687
c語言程序填空題 發布:2025-01-15 12:45:53 瀏覽:543
怎麼配置氯化鈉濃度 發布:2025-01-15 12:34:06 瀏覽:205
4000除以125簡便演算法 發布:2025-01-15 12:27:41 瀏覽:463
源碼商用 發布:2025-01-15 12:26:54 瀏覽:74
價錢演算法 發布:2025-01-15 12:26:03 瀏覽:400
蘋果手機安卓功能在哪裡 發布:2025-01-15 12:21:34 瀏覽:786
伺服器地址埠名稱怎麼找 發布:2025-01-15 12:15:32 瀏覽:705
怎麼把電腦程序改安卓 發布:2025-01-15 12:13:52 瀏覽:576
安卓如何設置格子 發布:2025-01-15 12:02:11 瀏覽:936