,

        rightrot: function (x, n) {
            return ((x >>> n) | (x << (32 - n))) & 0xFFFFFFFF;
        }
    };

    function sha256Engine() {
    }

    sha256Engine.prototype.processBlock = function (input) {
        var RR = utils.rightrot;
        var ADD = utils.add;
        var ADD3 = utils.add3;
        var ADD4 = utils.add4;
        var ADD5 = utils.add5;

        var data = new DataView(input.buffer, 0, input.length);
        var A = this.current[0];
        var B = this.current[1];
        