Skip to content

Embaralhador

__init__()

Inicializa o embaralhador no padrão ARGOS-3.

Exemplo

pageplot

Referência:
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.

\[\begin{equation} X_n = \begin{cases} A, & \text{se } n = 0 \pmod{3} \\ B, & \text{se } n = 1 \pmod{3} \\ C, & \text{se } n = 2 \pmod{3} \end{cases} \quad Y_n = \begin{cases} A, & \text{se } n = 0 \pmod{3} \\ B, & \text{se } n = 1 \pmod{3} \\ C, & \text{se } n = 2 \pmod{3} \end{cases} \end{equation}\]
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.

pageplot

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.

\[\begin{equation} v_t^{(0)'} = \begin{cases} A, & \text{se } n = 0 \pmod{3} \\ B, & \text{se } n = 1 \pmod{3} \\ C, & \text{se } n = 2 \pmod{3} \end{cases}, \quad v_t^{(1)'} = \begin{cases} A, & \text{se } n = 0 \pmod{3} \\ B, & \text{se } n = 1 \pmod{3} \\ C, & \text{se } n = 2 \pmod{3} \end{cases} \text{ .} \label{eq:desembaralhador_Y} \end{equation}\]
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.

pageplot

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.