hashdrbg

package
v1.3.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 17, 2024 License: MIT Imports: 3 Imported by: 0

Documentation

Index

Constants

View Source
const (
	MaxLength                      uint64 = 0x8_0000_0000      // 엔트로피 입력 최대 길이 (max_length)
	MaxPersonalizationStringLength uint64 = 0x8_0000_0000      // 개별화 문자열 최대 허용 길이 (max_personalization_string_length) = 2 ** 35
	MaxAdditionalInputLength       uint64 = 0x8_0000_0000      // 추가 입력 최대 허용 길이 (max_additional_input_length) = 2 ** 35
	MaxNoOfBytesPerRequest                = 0x8_0000 / 8       // 난수 최대 출력 길이 (max_no_of_bits_per_request) = 2 ** 19
	ReseedInterval                 uint64 = 0x8_0000_0000_0000 // 시드별 출력값 생성 횟수 (reseed_interval) = 2 ** 48
)

Variables

This section is empty.

Functions

func GetSecurityStrengthBits

func GetSecurityStrengthBits(requestedStrength int) int

Types

type State

type State struct {
	Hash                        hash.Hash // const
	ReseedInterval              uint64    // const
	PredictionResistanceRequest bool      // const

	SeedLen int // const, instantiated

	V             []byte // seedlen 비트 길이의 변수로, DRBG 인스턴스의 출력값 생성 시 갱신
	C             []byte // 시드로부터 계산되는 seedlen 비트 길이의 상수
	ReseedCounter uint64 // 시드 생성 이후 DRBG 인스턴스의 출력값 생성 횟수
	// contains filtered or unexported fields
}

func Instantiate

func Instantiate(
	h hash.Hash,
	entropyInput, nonce, personalizationString []byte,
	predictionResistanceRequest bool,
	reseedInterval uint64,
) *State

6.3 인스턴스 생성 함수(instantiate function)

Hash_DRBG의 인스턴스 생성 함수 Instantiate_Hash_DRBG는 엔트로피 입력, 논스, 개별화 문자열로부터 시드를 생성하고, 이 시드를 이용하여 내부 상태를 초기화한다.

func (*State) Generate

func (state *State) Generate(
	dst []byte,
	fnEntropyInput func() ([]byte, error),
	additionalInput []byte,
) error

6.5 생성 함수(generate function)

Hash_DRBG의 생성 함수 Generate_Hash_DRBG는 인스턴스의 내부 상태 중 동작 상태의 V 를 이용하여 출력 비트열을 생성하고, 동작 상태의 C 와 reseed_counter 를 이용하여 V 를 갱신한다.

func (*State) Reseed

func (state *State) Reseed(entropyInput, additionalInput []byte)

6.4 리시드 함수(reseeding function)

Hash_DRBG의 리시드 함수 Reseed_Hash_DRBG는 인스턴스의 내부 상태와 엔트로피 입력, 그리고 추가 입력을 이용하여 새로운 시드를 생성하고, 이 시드를 이용하여 내부 상태를 초기화한다.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL