Italian community of Lazarus and Free Pascal

Programmazione => Componenti Aggiuntivi => Topic aperto da: DragoRosso - Marzo 28, 2023, 01:34:12 am

Titolo: Supporto sistema crittografico SM4
Inserito da: DragoRosso - Marzo 28, 2023, 01:34:12 am
In allegato un demo con sorgenti e unità di criptazione / decriptazione per il protocollo in oggetto.

Tale protocollo viene usato in Cina (per Cina intendo ovunque la Cina abbia infrastrutture) come sistema crittografico standard per infrastrutture di rete, in particolare per le WLAN e il TLS (ma non solo, viene usato anche da AWS per tutti i servizi in Cina ad esempio).

L'algoritmo non è stato standardizzato ne dalla ISO ne dalla IEEE (entrambe hanno rifiutato la standardizzazione).

Tale algoritmo è necessario (o quasi) se si deve sviluppare software per la Cina (soprattutto a livello di rete)

Il software è stato tradotto a mano e quindi abbiate pazienza se qualcosa è sfuggito.

SM4 è implementato anche in openSSL dalla versione 1.1.1 e dalla versione di Linux 6.2 verrà implementato nativamente in Linux.

Ciao ciao

P.S.: per un riferimento rapido https://en.wikipedia.org/wiki/SM4_(cipher) (https://en.wikipedia.org/wiki/SM4_(cipher))
Titolo: Re:Supporto sistema crittografico SM4
Inserito da: xinyiman - Marzo 28, 2023, 08:43:44 am
Grazie mille DragoRosso. Hai provato a condividerlo anche sulla community internazionale?
Titolo: Re:Supporto sistema crittografico SM4
Inserito da: xinyiman - Marzo 28, 2023, 08:46:26 am
Solo una cosa, dal link che hai postato non si capisce se è un algoritmo a chiave asimmetrica oppure no.
Titolo: Re:Supporto sistema crittografico SM4
Inserito da: DragoRosso - Marzo 28, 2023, 09:00:14 am
E' un cipher a chiave simmetrica.
Titolo: Re:Supporto sistema crittografico SM4
Inserito da: DragoRosso - Marzo 28, 2023, 09:20:44 am
Grazie mille DragoRosso. Hai provato a condividerlo anche sulla community internazionale?

No, non l'ho postato in quanto di questo algoritmo non sò nulla. L'avevo cercato perchè in uno dei miei mille progetti mi avevano chiesto in via preliminare l'uso di tale algoritmo.

Poi nel frattempo la cosa è sfumata, ma avendolo trovato ho pensato di condividerlo.

Non sono andato a fondo neanche nel capire a quanti bit è la codifica (dovrebbe essere a 128 bit).

Il tutto l'ho tradotto e adattato a Lazarus (originariamente era per Delphi ed in Cinese, tra l'altro non UTF8 come ora ma Cinese salvato in ANSI con LC GB2312-80 mi pare).

Dovrebbe funzionare solo con le ultime versioni di Lazarus in quanto fà uso della unit "System.NetEncoding" introdotta solo recentemente in FPC.

Ciao
Titolo: Re:Supporto sistema crittografico SM4
Inserito da: xinyiman - Marzo 28, 2023, 09:31:54 am
Ok, buono a sapersi. Grazie mille
Titolo: Re:Supporto sistema crittografico SM4
Inserito da: DragoRosso - Marzo 29, 2023, 06:59:11 pm
Per chi vuole avere qualche info tecnica in più c'è questo link all' IETF draft:

https://datatracker.ietf.org/doc/html/draft-ribose-cfrg-sm4-10 (https://datatracker.ietf.org/doc/html/draft-ribose-cfrg-sm4-10)

Ciao

P.S.: la sicurezza dell'algoritmo è paragonabile a quella di AES, ma sembra che SM4 sia l'implementazione a chiave simmetrica più veloce che esista. Hanno testato prestazioni di 24 Gigabits (implementandolo in FPGA come nei Wireless).

Inoltre è uno degli algoritmi integrati da INTEL "Cryptography for Intel(R) Integrated Performance Primitives Developer Reference": https://www.intel.com/content/www/us/en/docs/ipp-crypto/developer-reference/2022-2/symmetric-cryptography-primitive-functions.html (https://www.intel.com/content/www/us/en/docs/ipp-crypto/developer-reference/2022-2/symmetric-cryptography-primitive-functions.html)
Titolo: Re:Supporto sistema crittografico SM4
Inserito da: xinyiman - Marzo 30, 2023, 08:53:51 am
Per chi vuole avere qualche info tecnica in più c'è questo link all' IETF draft:

https://datatracker.ietf.org/doc/html/draft-ribose-cfrg-sm4-10 (https://datatracker.ietf.org/doc/html/draft-ribose-cfrg-sm4-10)

Ciao

P.S.: la sicurezza dell'algoritmo è paragonabile a quella di AES, ma sembra che SM4 sia l'implementazione a chiave simmetrica più veloce che esista. Hanno testato prestazioni di 24 Gigabits (implementandolo in FPGA come nei Wireless).

Inoltre è uno degli algoritmi integrati da INTEL "Cryptography for Intel(R) Integrated Performance Primitives Developer Reference": https://www.intel.com/content/www/us/en/docs/ipp-crypto/developer-reference/2022-2/symmetric-cryptography-primitive-functions.html (https://www.intel.com/content/www/us/en/docs/ipp-crypto/developer-reference/2022-2/symmetric-cryptography-primitive-functions.html)

Tanta roba insomma
Titolo: Re:Supporto sistema crittografico SM4
Inserito da: DragoRosso - Marzo 30, 2023, 02:31:42 pm
In effetti ... non sono un esperto in crittografia, ma quando mi hanno accennato alla cosa come se fosse una pietra miliare dell'informatica, mi sono informato ed effettivamente ....

Nonostante non sia standardizzato sembra comunque che il mondo moderno lo adotterà lo stesso.

Ciao