Embaralhador
__init__()
Inicializa o embaralhador no padrão ARGOS-3.
Exemplo
AS3-SP-516-274-CNES (seção 3.1.4.5)
scramble(vt0, vt1)
Embaralha os vetores \(v_t^{(0)}\) e \(v_t^{(1)}\), retornando os vetores \(X_n\) e \(Y_n\) embaralhados. O processo de embaralhamento é dado pela expressão abaixo.
Sendo
- \(X_n\) e \(Y_n\): Vetores de saída embaralhados.
- \(A\), \(B\) e \(C\): Combinação de bits dos vetores de entrada \(v_t^{(0)}\) e \(v_t^{(1)}\).
- \(n\): Indice do bit a ser embaralhado.
O processo de embaralhamento é ilustrado pelo diagrama de blocos abaixo.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
vt0
|
ndarray
|
Vetor de entrada \(v_t^{(0)}\). |
required |
vt1
|
ndarray
|
Vetor de entrada \(v_t^{(1)}\). |
required |
Returns:
Name | Type | Description |
---|---|---|
X_scrambled |
ndarray
|
Vetor \(X_n\) embaralhado. |
Y_scrambled |
ndarray
|
Vetor \(Y_n\) embaralhado. |
Raises:
Type | Description |
---|---|
AssertionError
|
Se os vetores X e Y não tiverem o mesmo comprimento. |
descramble(X_prime, Y_prime)
Desembaralha os vetores \(X'_n\) e \(Y'_n\) embaralhados, retornando os vetores \(v_t^{(0)'}\) e \(v_t^{(1)'}\) restaurados. O processo de desembaralhamento é dado pela expressão abaixo.
Sendo
- \(v_t^{(0)'}\) e \(v_t^{(1)'}\): Vetores de saida desembaralhados.
- \(A\), \(B\) e \(C\): Combinação de bits dos vetores de entrada \(X'_n\) e \(Y'_n\) embaralhados.
- \(n\): Indice do bit a ser embaralhado.
O processo de desembaralhamento é ilustrado pelo diagrama de blocos abaixo.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
X_prime
|
ndarray
|
Vetor \(X'_{n}\) embaralhado. |
required |
Y_prime
|
ndarray
|
Vetor \(Y'_{n}\) embaralhado. |
required |
Returns:
Name | Type | Description |
---|---|---|
vt0_prime |
ndarray
|
Vetor \(v_t^{(0)}\) restaurado. |
vt1_prime |
ndarray
|
Vetor \(v_t^{(1)}\) restaurado. |
Raises:
Type | Description |
---|---|
AssertionError
|
Se os vetores X e Y não tiverem o mesmo comprimento. |