Ⅰ openssl里的fips是什麼意思
openssl-fips是符合FIPS標準的Openssl。
聯邦信息處理標准(Federal Information Processing Standards,FIPS)是一套描述文件處理、加密演算法和其他信息技術標准(在非軍用政府機構和與這些機構合作的政府承包商和供應商中應用的標准)的標准。
Intel AES指令(AES-NI)是Intel32納米微架構上的一組新指令。這些指令對於使用
AES(Advancde Encryption Standard)演算法進行數據加解密的操作能夠起到加速的作用。AES標准由FIPS定義,如今廣泛
應用在貿易安全,資料庫的加密等各個方面。
Intel AES-NI包括七條指令。其中六條是硬體對AES的支持(四條關於AES加解密,另兩條指令有關AES key的擴展)。第七條指令有助於進位乘法。
AES-NI可以靈活地支持AES的各種使用方式,包括各種標准密鑰的長度,各種模式的操作,甚至是一些非標准或是未來可能的各種方式。對比現在一些純軟體的實現,它對性能的提升非常顯著。
Ⅱ openssl enc命令怎麼用
OpenSSL
OpenSSL 包含一個命令行工具用來完成 OpenSSL 庫中的所有功能,更好的是,它可能已經安裝到你的系統中了。
OpenSSL 是一個強大的安全套接字層密碼庫,Apache 使用它加密 HTTPS,OpenSSH 使用它加密 SSH,但是,你不應該只將其作
為一個庫來使用,它還是一個多用途的、跨平台的密碼工具。
這里簡單說一下 OpenSSL 的背景,在 OpenSSL 之前,叫做 ssleay,它是一個由 EricA.Young 編寫的 SSL 工具,它不斷改
進最終變成了 OpenSSL,與 NCSA 的 HTTPd 變成 Apache 伺服器的過程非常類似,今天,OpenSSL 支持多種加密演算法和協
議。 OpenSSL 有許多的特徵,而且還有 SSL 客戶端和服務端特徵,OpenSSL 還有:
◆美國聯邦政府 NIST FIPS 140-2 一級評估確認
◆TLS,下一代 SSL 協議
◆X.509 密鑰和證書的生成
◆X.509 證書權力
◆S/MIME 加密
◆文件加密和粉碎
◆打亂 UNIX 密碼
◆9 個不同的商業密碼硬體設備
◆密碼性能測試
◆36 個命令
◆6 個消息摘要演算法
◆9 個密碼演算法
◆多個加密協議
盡管 OpenSSL 很復雜,但是大量的復雜性可以被避免的,本文剩下的部分將集中在易於使用的特徵上,在 shell 代碼中僅僅
需要幾行就可以了。
本文使用與我早期編寫的 GnuPG Hacks 文章一致的小結標題,以便於比較 OpenSSL 和 GnuPG。
入門 首先,確認一下 OpenSSL 已經安裝並處於你的徑之下,許多 linux 發行版,甚至一下小的發行版,都包括了
OpenSSL,通常,OpenSSL 處於/usr/bin/下。
在所有的例子中,shell 提示符都是$。
Ⅲ 求助 linux c 編寫openssl socket套接字通信 運行時報錯 網路編程 不知道該怎麼辦啊
1.TCP流式套接字的編程步驟
在使用之前須鏈接庫函數:工程->設置->Link->輸入ws2_32.lib,OK!
SOCKET sockSrv=socket(AF_INET,SOCK_STREAM,0);//創建套接字(socket)。
SOCKADDR_IN addrSrv;
addrSrv.sin_addr.S_un.S_addr=htonl(INADDR_ANY);//轉換Unsigned short為網路位元組序的格式
addrSrv.sin_family=AF_INET;
addrSrv.sin_port=htons(6000);
客戶端代碼如下:
#include <Winsock2.h>
#include <stdio.h>
void main()
{
WORD wVersionRequested;
WSADATA wsaData;
int err;
wVersionRequested = MAKEWORD( 1, 1 );
err = WSAStartup( wVersionRequested, &wsaData );載入套接字型檔
if ( err != 0 ) {
return;
}
if ( LOBYTE( wsaData.wVersion ) != 1 ||
HIBYTE( wsaData.wVersion ) != 1 ) {
WSACleanup()( );
return;
}
SOCKET sockClient=socket(AF_INET,SOCK_STREAM,0);創建套接字(socket)。
SOCKADDR_IN addrSrv;
addrSrv.sin_addr.S_un.S_addr=inet_addr("127.0.0.1");
addrSrv.sin_family=AF_INET;
addrSrv.sin_port=htons(6000);
connect(sockClient,(SOCKADDR*)&addrSrv,sizeof(SOCKADDR));向伺服器發出連接請求(connect)。
char recvBuf[100];和伺服器端進行通信(send/recv)。
recv(sockClient,recvBuf,100,0);
printf("%s\n",recvBuf);
send(sockClient,"This is lisi",strlen("This is lisi")+1,0);
closesocket(sockClient);關閉套接字。
WSACleanup()();//必須調用這個函數清除參數
}