public IntermediateSteps(EncryptionUserInput encryptionUserInput)
            {
                // Create the key matrix with component A.
                string columnKeys;
                string rowKeys;

                StraddlingCheckerboardKeyMatrix CreateKeyMatrix()
                {
                    (columnKeys, rowKeys) = GetComponentADigitSeries(encryptionUserInput.ComponentA);
                    return(new StraddlingCheckerboardKeyMatrix(columnKeys, rowKeys[..3]));;
        public static void Encrypt()
        {
            var encryptionInput   = new EncryptionUserInput();
            var intermediateSteps = new IntermediateSteps(encryptionInput);

            string ciphertext = EncryptPlaintext(encryptionInput, intermediateSteps);

            Console.WriteLine($"Ciphertext: {ciphertext}");

            string encryptedBookIndexPositions = EncryptBookIndexPositions(encryptionInput);

            // The hand cipher calls book index positions "book groups".
            Console.WriteLine($"First and second encrypted book groups: {encryptedBookIndexPositions}");
        }