Encrypt a string using vigenere techniques Your task:

Create a program that encrypts a string with another string using a key, using 
the vigenere cipher.

What a vigenere cipher does

Ciphertext:   string  
Key:          keya   
 |             |
 v             v
string
keyake
 |
 v
(18)(19)(17)(08)(13)(06)
(10)(04)(24)(00)(10)(04)
 |
 v
(28)(23)(41)(08)(23)(10)
 |
 v
cxpixk


If it still isn't clear, read here.

Rules: No built-ins, shortest code in bytes wins, input and output will/should always be either completely lowercase, or completely uppercase.

string, keya -&gt; cxpixk
aaaaaaaaaaaaaaaaaaaaaaaa,abcdefghijklmnopqrstuvwxyz -&gt; abcdefghijklmnopqrstuvwxyz
vigenere, cipher -&gt; xqvlrvtm
short, longkey -&gt; dvbxd
Jelly, 9 bytes

2 bytes thanks to Dennis.

ṁ⁹,OS‘ịØA


Try it online!

How it works

ṁ⁹,OS‘ịØA            arguments: "KEYA", "STRING"

ṁ⁹         reshape   "KEYAKE"
  ,        pair      ["KEYAKE","STRING"]
   O       codepoint [[75,69,89,65,75,69],[83,84,82,73,78,71]]
    S      sum       [158,153,171,138,153,140]
     ‘     add 1     [159,154,172,139,154,141]
      ịØA  index ØA  "CXPIXK"
           where ØA is "ABCDEFGHIJKLMNOPSRQTUVWXYZ"