Daniel J. Bernstein, onimọran olokiki ni cryptography ati idagbasoke sọfitiwia to ni aabo ti o ṣe agbekalẹ awọn iṣẹ akanṣe bii qmail, djbdns, NaCl, Ed25519, Curve25519, ati ChaCha20-Poly1305, ti tu cdb 20250121, ọna kika ibi ipamọ data ati awọn ohun elo ti o tẹle / awọn iṣẹ ibi-ikawe ti o tẹle. Itusilẹ yii wa diẹ sii ju ọdun 25 lẹhin imudojuiwọn iṣaaju, cdb 0.75, ti a tu silẹ ni Kínní ọdun 2000.
Ẹya tuntun n ṣe imuse ọna kika cdb64, ti a tumọ si awọn ẹya data 64-bit. Lori awọn iru ẹrọ 64-bit, ọna kika tuntun ngbanilaaye fun awọn apoti isura infomesonu to exabyte ni iwọn (tẹlẹ, awọn iwọn data data ni opin si 4 GB). Ibi ipamọ data jẹ iwapọ pupọ o si nlo akọsori 4096-baiti ati 48 awọn baiti ti oke fun igbasilẹ (fun ẹya 32-bit, akọsori jẹ awọn baiti 2048 ati awọn baiti 24 fun igbasilẹ). Iwọle si aaye data nilo awọn iṣẹ iraye si disk meji nikan ti bọtini ba wa, ati ọkan ti ko ba jẹ. Rirọpo ibi ipamọ data atomiki jẹ atilẹyin, eyiti o jẹ sooro jamba ati pe ko ṣe idiwọ iwọle kika.
Awọn iyipada miiran:
- Atilẹyin fun kikọ ni lilo iwe afọwọkọ atunto ati fifi sori ẹrọ pẹlu aṣẹ “ṣe fi sori ẹrọ”.
- Yiyọ abuda ti awọn iwe afọwọkọ idanwo si csh.
- Gbogbo awọn iye odidi inu ti rọpo pẹlu iru “num”, ti a ṣalaye bi “gun gun.” Awọn uint32, fmt, ati awọn iṣẹ ọlọjẹ ti rọpo pẹlu awọn iṣẹ ti o ṣiṣẹ pẹlu iru nọmba.
- API iṣakoso ifipamọ ti pin si inbuf ati outbuf. Awọn hier ni wiwo ti a ti mọtoto soke.
- Awọn asọye iṣẹ ti a ko lo ti yọkuro lati koodu naa.
- Lilo awọn ifunmọ bi str_len, alloc, uint32, ijade, aṣiṣe, ati systype.
- A ti ṣe atunṣe koodu naa lati yọkuro lilo awọn igbelewọn C ti o bajẹ gẹgẹbi ara atijọ ti awọn asọye iṣẹ, awọn apẹẹrẹ ofo, ati aṣa atijọ ti itumọ akọkọ ().
- Awọn itumọ ti const ati aimi ni a lo.
- Asia "-Wall" ti ṣiṣẹ lakoko apejọ ati pe koodu naa ti di mimọ lati mu awọn ikilọ kuro.
- Awọn ayẹwo-fwrapv, -fno-delete-null-pointer-checks, -fno-strict-aliasing, ati -fno-strict-overflow awọn aṣayan ti ṣiṣẹ lakoko akojọpọ.
orisun: opennet.ru
