package com.cscn; /** * MAC上下文类(JavaCard版,int 拆分为两个 short) */ public final class Zuc256MacCtx { // LFSR: 原本 int[16],拆成 hi/lo 各 16 short short[] LFSR_hi = JCSystem.makeTransientShortArray((short)16, JCSystem.MEMORY_TYPE_TRANSIENT_RESET); //todo -> ram short[] LFSR_lo = JCSystem.makeTransientShortArray((short)16, JCSystem.MEMORY_TYPE_TRANSIENT_RESET); // R1、R2: 原本 int,拆成 hi/lo short R1_hi; short R1_lo; short R2_hi; short R2_lo; // 缓冲区 byte[] buf = JCSystem.makeTransientByteArray((short)4, JCSystem.MEMORY_TYPE_TRANSIENT_RESET); short buflen; // T: 原本 int[4],拆成 hi/lo short[] T_hi = JCSystem.makeTransientShortArray((short)4, JCSystem.MEMORY_TYPE_TRANSIENT_RESET); short[] T_lo = JCSystem.makeTransientShortArray((short)4, JCSystem.MEMORY_TYPE_TRANSIENT_RESET); // K0: 原本 int[4],拆成 hi/lo short[] K0_hi = JCSystem.makeTransientShortArray((short)4, JCSystem.MEMORY_TYPE_TRANSIENT_RESET); short[] K0_lo = JCSystem.makeTransientShortArray((short)4, JCSystem.MEMORY_TYPE_TRANSIENT_RESET); // macbits: 原本 int,改成 short 足够 short macbits; }