issues
search
uni2u
/
difs-cxx
DIFS ndn-cxx
Other
1
stars
3
forks
source link
hash chain 라이브러리 체크
#1
Closed
uni2u
closed
3 years ago
uni2u
commented
3 years ago
commit: 43e991bbd4c47248b383221c804427e7493be002
commit: d176254c273ec035dfc5dc8964da6b02b588851d
내부 테스트
테스트 도구: named-data/ndn-tools - putchunks/catchunks
파일 사이즈: 1G (fallocate -l 1G file)
write and read
write normal
write hash-chain
read normal
read hash-chain
14.3813
14.3062
37.587
35.7019
14.237
14.0883
37.1381
37.1611
14.1019
14.5736
38.3545
37.2597
14.5184
14.4716
38.1419
37.2489
14.2155
14.7297
37.7202
37.2069
14.3962
14.5195
37.4758
51.4929
14.1232
14.4575
37.281
43.1981
14.2711
14.5059
37.4877
37.7871
14.3273
14.8907
37.4519
38.9824
14.2218
14.8111
39.3679
37.21
14.3643
14.2752
39.722
37.3668
14.413
14.4964
41.4309
37.2044
14.4262
14.7509
37.6276
37.2066
14.5829
14.379
38.3791
37.2201
14.3056
14.5437
40.7698
37.2476
14.1167
14.7832
38.3541
37.1676
14.5762
14.5644
38.7968
37.243
14.1923
14.6842
40.7667
37.3353
14.0838
14.089
42.9039
37.1981
14.2819
14.9588
38.4404
37.1914
14.2467
14.2277
37.1917
37.3021
14.2988
14.8242
38.1676
37.1768
15.0676
14.8029
38.2821
37.1575
14.3666
14.7079
38.7748
37.2809
14.2925
14.7895
39.8047
37.306
14.3726
14.5655
40.6072
37.1905
14.3844
14.4943
38.0625
37.1911
14.365
14.8291
37.3215
37.3048
14.4638
14.3025
37.7832
37.1631
14.5472
14.4194
38.3905
37.1647
결과
현재 테스트 (putchunks/catchunks) 결과 예상과 다르게 성능의 차이가 없는 것으로 확인
Todo
위 결과에 대한 분석
원인 분석
DIFS 적용
DIFS 코드 수정
uni2u
commented
3 years ago
질문
normal 이라는 것이 RSA 를 의미하나요?
1G 파일의 모든 청크 조각마다 RSA sign 을 붙이는 경우와
1G 파일의 첫번째 청크에만 RSA sign 을 붙이고 뒤는 hash 로 연결하는 경우 비교
답
실험에 사용한 putchunks, catchunks는 github.com/named-data/ndn-tools에 있는 chunks 예제를 사용
기본 값: ndn-cxx의 security::SigningInfo 에 빈 문자열
ndn-cxx 소스를 살펴본 결과, 빈 문자열을 넣으면 SIGNER_TYPE_NULL 이라는 기본값을 사용
대응 방안
ndn-cxx 의 ndnsec 관련 내용 체크 (
https://named-data.net/doc/ndn-cxx/current/manpages/ndnsec-key-gen.html
)
DEFAULT signature type 이 "ECDSA" 로 수정됨
ndn-cxx 버전 0.7.0 까지 RSA 가 DEFAULT 였음 (문서상으로 확인되나 코드상으로 적용이 되었는지 모르겠음)
확실히 ndn-cxx 0.6.2 버전은 RSA 가 DEFAULT 임
ECDSA type 은
DigestSha256
성능과 비슷한 것으로 확인됨
ECDSA 가 RSA 에 비하여 성능이 높지 않을텐데 왜 속도가 빠른지는 의문임
아마도 ndn-cxx 코드에 ECDSA 관련 내용이 제대로 반영이 안된 것은 아닌가 싶음
RSA 를 사용할 경우
ndnsec-key-gen -i /root -t r
명령어를 우선 적용하여야 함
이 경우 SIGNER_TYPE_NULL 이 RSA 로 동작할 것으로 예상
type 을 RSA 로 정의하지 않으면 DEFAULT 인 ECDSA 로 동작할 것으로 예상
위 명령어를 우선 적용 후 putchunks/catchunks 를 실행하여야 할 것으로 예상됨
내부 테스트
write and read
결과
Todo