@@ -19,68 +19,68 @@ func NewCNSA2Analyzer() *CNSA2Analyzer {
1919var (
2020 // Approved algorithms for CNSA 2.0
2121 CNSA2ApprovedKeyExchange = map [string ]bool {
22- "ML-KEM-768" : true ,
23- "ML-KEM-1024" : true ,
24- "X25519MLKEM768" : true ,
25- "SecP256r1MLKEM768" : true ,
26- "SecP384r1MLKEM1024" : true ,
22+ "ML-KEM-768" : true ,
23+ "ML-KEM-1024" : true ,
24+ "X25519MLKEM768" : true ,
25+ "SecP256r1MLKEM768" : true ,
26+ "SecP384r1MLKEM1024" : true ,
2727 }
2828
2929 CNSA2ApprovedSignatures = map [string ]bool {
30- "ML-DSA-65" : true ,
31- "ML-DSA-87" : true ,
32- "SLH-DSA-SHA2-128s" : true ,
33- "SLH-DSA-SHA2-128f" : true ,
34- "SLH-DSA-SHA2-192s" : true ,
35- "SLH-DSA-SHA2-192f" : true ,
36- "SLH-DSA-SHA2-256s" : true ,
37- "SLH-DSA-SHA2-256f" : true ,
38- "SLH-DSA-SHAKE-128s" : true ,
39- "SLH-DSA-SHAKE-128f" : true ,
40- "SLH-DSA-SHAKE-192s" : true ,
41- "SLH-DSA-SHAKE-192f" : true ,
42- "SLH-DSA-SHAKE-256s" : true ,
43- "SLH-DSA-SHAKE-256f" : true ,
30+ "ML-DSA-65" : true ,
31+ "ML-DSA-87" : true ,
32+ "SLH-DSA-SHA2-128s" : true ,
33+ "SLH-DSA-SHA2-128f" : true ,
34+ "SLH-DSA-SHA2-192s" : true ,
35+ "SLH-DSA-SHA2-192f" : true ,
36+ "SLH-DSA-SHA2-256s" : true ,
37+ "SLH-DSA-SHA2-256f" : true ,
38+ "SLH-DSA-SHAKE-128s" : true ,
39+ "SLH-DSA-SHAKE-128f" : true ,
40+ "SLH-DSA-SHAKE-192s" : true ,
41+ "SLH-DSA-SHAKE-192f" : true ,
42+ "SLH-DSA-SHAKE-256s" : true ,
43+ "SLH-DSA-SHAKE-256f" : true ,
4444 }
4545
4646 CNSA2ApprovedSymmetric = map [string ]bool {
47- "AES-256" : true ,
48- "AES-256-GCM" : true ,
47+ "AES-256" : true ,
48+ "AES-256-GCM" : true ,
4949 }
5050
5151 CNSA2ApprovedHash = map [string ]bool {
52- "SHA-384" : true ,
53- "SHA-512" : true ,
54- "SHA3-384" : true ,
55- "SHA3-512" : true ,
52+ "SHA-384" : true ,
53+ "SHA-512" : true ,
54+ "SHA3-384" : true ,
55+ "SHA3-512" : true ,
5656 }
5757
5858 // Transitional algorithms (allowed until deadline)
5959 CNSA2Transitional = map [string ]string {
60- "RSA-3072" : "2030" ,
61- "RSA-4096" : "2030" ,
62- "ECDSA-P384" : "2030" ,
63- "ECDH-P384" : "2030" ,
64- "X25519" : "2030" , // Only in hybrid mode
65- "SHA-256" : "2030" ,
60+ "RSA-3072" : "2030" ,
61+ "RSA-4096" : "2030" ,
62+ "ECDSA-P384" : "2030" ,
63+ "ECDH-P384" : "2030" ,
64+ "X25519" : "2030" , // Only in hybrid mode
65+ "SHA-256" : "2030" ,
6666 }
6767
6868 // Deprecated algorithms (should be phased out)
6969 CNSA2Deprecated = map [string ]string {
70- "RSA-2048" : "Immediately" ,
71- "ECDSA-P256" : "2027" ,
72- "ECDH-P256" : "2027" ,
73- "SHA-1" : "Immediately" ,
74- "3DES" : "Immediately" ,
75- "RC4" : "Immediately" ,
70+ "RSA-2048" : "Immediately" ,
71+ "ECDSA-P256" : "2027" ,
72+ "ECDH-P256" : "2027" ,
73+ "SHA-1" : "Immediately" ,
74+ "3DES" : "Immediately" ,
75+ "RC4" : "Immediately" ,
7676 }
7777)
7878
7979// Milestones defines CNSA 2.0 timeline.
8080var CNSA2Milestones = []struct {
81- Name string
82- Deadline time.Time
83- Description string
81+ Name string
82+ Deadline time.Time
83+ Description string
8484 Requirements []string
8585}{
8686 {
@@ -416,19 +416,19 @@ func (a *CNSA2Analyzer) calculateTimelineScore(timeline *types.CNSA2Timeline) in
416416 score := 0
417417
418418 weights := map [string ]int {
419- "Preparation Phase" : 10 ,
420- "New NSS Systems" : 30 ,
421- "TLS 1.3 Required" : 25 ,
422- "Legacy System Update" : 20 ,
423- "Full PQC Transition" : 15 ,
419+ "Preparation Phase" : 10 ,
420+ "New NSS Systems" : 30 ,
421+ "TLS 1.3 Required" : 25 ,
422+ "Legacy System Update" : 20 ,
423+ "Full PQC Transition" : 15 ,
424424 }
425425
426426 statusScores := map [string ]int {
427- "compliant" : 100 ,
428- "partial" : 60 ,
429- "in-progress" : 40 ,
430- "non-compliant" : 0 ,
431- "not-applicable" : 100 , // Future requirements don't penalize
427+ "compliant" : 100 ,
428+ "partial" : 60 ,
429+ "in-progress" : 40 ,
430+ "non-compliant" : 0 ,
431+ "not-applicable" : 100 , // Future requirements don't penalize
432432 }
433433
434434 for _ , m := range timeline .Milestones {
0 commit comments