Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 3 of 3 for DerivePartKey (0.08 sec)

  1. internal/crypto/key.go

    	if out, err := sio.DecryptBuffer(key[:0], sealedKey.Key[:], unsealConfig); len(out) != 32 || err != nil {
    		return ErrSecretKeyMismatch
    	}
    	return nil
    }
    
    // DerivePartKey derives an unique 256 bit key from an ObjectKey and the part index.
    func (key ObjectKey) DerivePartKey(id uint32) (partKey [32]byte) {
    	var bin [4]byte
    	binary.LittleEndian.PutUint32(bin[:], id)
    
    	mac := hmac.New(sha256.New, key[:])
    	mac.Write(bin[:])
    Registered: Sun Dec 28 19:28:13 UTC 2025
    - Last Modified: Fri May 16 14:27:42 UTC 2025
    - 6.2K bytes
    - Viewed (0)
  2. internal/crypto/sse.go

    // multi-part PUT request. It derives an unique encryption key from
    // the partID and the object key.
    func EncryptMultiPart(r io.Reader, partID int, key ObjectKey) io.Reader {
    	partKey := key.DerivePartKey(uint32(partID))
    	return EncryptSinglePart(r, ObjectKey(partKey))
    }
    
    // DecryptSinglePart decrypts an io.Writer which must an object
    // uploaded with the single-part PUT API. The offset and length
    Registered: Sun Dec 28 19:28:13 UTC 2025
    - Last Modified: Sun Sep 28 20:59:21 UTC 2025
    - 4.3K bytes
    - Viewed (0)
  3. internal/crypto/key_test.go

    	for i, test := range derivePartKeyTest {
    		expectedPartKey, err := hex.DecodeString(test.PartKey)
    		if err != nil {
    			t.Fatalf("Test %d failed to decode expected part-key: %v", i, err)
    		}
    		partKey := key.DerivePartKey(test.PartID)
    		if !bytes.Equal(partKey[:], expectedPartKey) {
    			t.Errorf("Test %d derives wrong part-key: got '%s' want: '%s'", i, hex.EncodeToString(partKey[:]), test.PartKey)
    		}
    	}
    }
    
    Registered: Sun Dec 28 19:28:13 UTC 2025
    - Last Modified: Fri Jul 12 20:51:54 UTC 2024
    - 6.7K bytes
    - Viewed (0)
Back to top