Amazon aws-lc-rs, రస్ట్ అప్లికేషన్లలో ఉపయోగం కోసం రూపొందించబడిన క్రిప్టోగ్రాఫిక్ లైబ్రరీని పరిచయం చేసింది మరియు API స్థాయిలో రస్ట్ రింగ్ లైబ్రరీకి అనుకూలంగా ఉంటుంది. ప్రాజెక్ట్ కోడ్ Apache 2.0 మరియు ISC లైసెన్స్ల క్రింద పంపిణీ చేయబడింది. లైబ్రరీ Linux (x86, x86-64, aarch64) మరియు macOS (x86-64) ప్లాట్ఫారమ్లపై పని చేయడానికి మద్దతు ఇస్తుంది.
aws-lc-rsలో క్రిప్టోగ్రాఫిక్ కార్యకలాపాల అమలు AWS-LC లైబ్రరీ (AWS libcrypto)పై ఆధారపడి ఉంటుంది, ఇది C++లో వ్రాయబడింది మరియు బోరింగ్ఎస్ఎస్ఎల్ ప్రాజెక్ట్ నుండి కోడ్ ఆధారంగా (గూగుల్ సపోర్ట్ చేసే OpenSSL ఫోర్క్). అదనంగా, రెండు తక్కువ-స్థాయి క్రేట్ ప్యాకేజీలు ప్రతిపాదించబడ్డాయి: aws-lc-sys (AWS-LCపై స్వయంచాలకంగా ఉత్పత్తి చేయబడిన తక్కువ-స్థాయి రేపర్లు) మరియు aws-lc-fips-sys (FFI (ఫారిన్ ఫంక్షన్ ఇంటర్ఫేస్) ఆధారంగా తక్కువ-స్థాయి రేపర్లు) , AWS-LC APIని పునరుత్పత్తి చేస్తోంది.
AWS-LC లైబ్రరీలో అధికారికంగా ధృవీకరించబడిన SHA-2, HMAC, AES-GCM, AES-KWP, HKDF, ECDH మరియు ECDSA అల్గారిథమ్లు యునైటెడ్ స్టేట్స్లోని ప్రభుత్వ ఏజెన్సీలు ఉపయోగించగల క్రిప్టోగ్రాఫిక్ సిస్టమ్ల అవసరాలకు అనుగుణంగా ఉంటాయి. కెనడా రస్ట్ ప్రాజెక్ట్లలో ఉపయోగించగల FIPS-కంప్లైంట్ క్రిప్టో లైబ్రరీల ఆవశ్యకతతో రస్ట్ లాంగ్వేజ్ కోసం ఫ్రేమ్వర్క్ను రూపొందించడం జరిగింది. aws-lc-rs లైబ్రరీలో, అమెజాన్ రస్ట్ ప్రోగ్రామర్లలో సుపరిచితమైన మరియు విస్తృతమైన రింగ్ APIని కలపాలని నిర్ణయించుకుంది మరియు FIPS అవసరాలకు అనుగుణంగా ఉండే AWS-LC లైబ్రరీ నుండి అల్గారిథమ్ల యొక్క ధృవీకరించబడిన అమలు.
AWS-LC లైబ్రరీని ప్రాతిపదికగా ఉపయోగించడం వలన aws-lc-rsలో Amazon అభివృద్ధి చేసిన అన్ని నిర్దిష్ట ఆప్టిమైజేషన్లను ఉపయోగించడం కూడా సాధ్యమైంది. ఉదాహరణకు, AWS-LC ARM ప్రాసెసర్ల కోసం విడిగా ఆప్టిమైజ్ చేయబడిన ChaCha20-Poly1305 మరియు NIST P-256 అల్గారిథమ్ల వేరియంట్లను అందిస్తుంది, అలాగే ECDSA డిజిటల్ సిగ్నేచర్ల ప్రాసెసింగ్ను వేగవంతం చేసే x86 సిస్టమ్ల కోసం ముఖ్యమైన ఆప్టిమైజేషన్లను అందిస్తుంది. TLS 1.2 మరియు 1.3 ప్రోటోకాల్ల ఆపరేషన్ను పరీక్షించేటప్పుడు, aws-lc-rs లైబ్రరీ rustls ప్యాకేజీని గణనీయంగా అధిగమించింది, కనెక్షన్ సెటప్ సమయం తగ్గింపు మరియు నిర్గమాంశ పెరుగుదల (ECDSA పరీక్షలలో రెట్టింపు కంటే ఎక్కువ) రెండింటినీ ప్రదర్శిస్తుంది.
మూలం: opennet.ru